小编Chr*_*rry的帖子

取消注册Activity生命周期回调的正确方法是什么?

在Android Application类中,您可以注册/取消注册ActivityLifecycleCallbacks,它允许您在一个地方监视应用程序中的Activity生命周期事件(如果您愿意).

调用unregisterActivityLifecycleCallbacks的适当位置在哪里?我正在onCreate注册,并且认为onTerminate只是从方法的名称开始才是合适的位置,但文档对onTerminate()说:

此方法用于模拟过程环境.永远不会在生产Android设备上调用它,只需杀死它们即可删除进程; 这样做时不会执行任何用户代码(包括此回调).

我没有在Application类中看到任何其他方法,其中进行了'shutdown'类型的回调.你甚至需要取消注册吗?

android application-lifecycle activity-lifecycle

21
推荐指数
1
解决办法
4210
查看次数

Android:你如何隐藏ActionBar中的Tabs?

我需要暂时隐藏Tab我为我定义的对象ActionBar.对象setVisibility上没有方法Tab,所以我对如何实现这一点感到茫然.

tabs android android-actionbar

18
推荐指数
1
解决办法
1万
查看次数

如何从Sonatype.org导入Maven依赖项?

我正在尝试将Robolectric导入我的Maven项目,其中包括:

        <dependency>
            <groupId>com.pivotallabs</groupId>
            <artifactId>robolectric</artifactId>
            <version>1.2-SNAPSHOT</version>
            <scope>test</scope>
        </dependency>
Run Code Online (Sandbox Code Playgroud)

这里列出了工件:

https://oss.sonatype.org/index.html#nexus-search;quick~robolectric

我试过包括:

<repositories>
    <repository>
        <id>oss-sonatype</id>
        <name>oss-sonatype</name>
        <url>https://oss.sonatype.org/content/repositories/snapshots/</url>
        <snapshots>
            <enabled>true</enabled>
        </snapshots>
    </repository>
</repositories>
Run Code Online (Sandbox Code Playgroud)

这篇文章的建议,但它没有解决robolectric.

sonatype maven robolectric

18
推荐指数
1
解决办法
1万
查看次数

如何在自定义主题中引用样式

我有一个登录屏幕,针对我的应用程序的不同版本进行了不同的标记.我需要在此屏幕的布局文件中背景图像不同,所以我想指向顶级容器的不同样式.我对如何做到这一点有点不知所措.

我宣布了一个像样的东西:

<resources>

    <declare-styleable name="ThemeBase">
       <attr name="loginPageContainerStyle" format="reference" />
    </declare-styleable>

</resources>
Run Code Online (Sandbox Code Playgroud)

我有几个不同的主题的应用程序,因此:

<resources>

    <style name="ThemeBase" parent="android:style/Theme.Light" />

    <style name="ThemeOne" parent="ThemeBase">
       <item name="loginPageContainerStyle">@style/loginPageContainerThemeOne</item>
    </style>

    <style name="ThemeTwo" parent="ThemeBase">
       <item name="loginPageContainerStyle">@style/loginPageContainerThemeTwo</item>
    </style>

</resources>
Run Code Online (Sandbox Code Playgroud)

我定义了以下样式:

<resources>
    <style name="loginPageContainerThemeOne">
        <item name="android:background">@drawable/background_theme_one</item>
    </style>

    <style name="loginPageContainerThemeTwo">
        <item name="android:background">@drawable/background_theme_two</item>
    </style>
</resources>
Run Code Online (Sandbox Code Playgroud)

最后一个login.xml文件类似于:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/loginRoot"
    style= [ ? WHAT GOES HERE ? ]
    android:gravity="center_horizontal"
    android:orientation="horizontal">

    [ LAYOUT STUFF ... ]

</LinearLayout>
Run Code Online (Sandbox Code Playgroud)

我做错了吗?这可以这样做吗?

android themes android-styles

15
推荐指数
1
解决办法
2700
查看次数

动画列表视图布局时遇到问题

我希望listview中的项目从左到右一次一个地滑动.我在res/anim/slide_right.xml中有以下内容

<?xml version="1.0" encoding="utf-8"?>

<set xmlns:android="http://schemas.android.com/apk/res/android" android:interpolator="@android:anim/accelerate_interpolator">
    <translate android:fromXDelta="100%p" android:toXDelta="0" android:duration="150" />
</set>
Run Code Online (Sandbox Code Playgroud)

在我的ListActivity中的 onCreate方法中,我有:

LayoutAnimationController controller = AnimationUtils.loadLayoutAnimation(this, R.anim.slide_right);
mList.setLayoutAnimation(controller);
Run Code Online (Sandbox Code Playgroud)

当我运行它时,我得到一个RuntimeException引起的Unknown layout animation name: set

我究竟做错了什么?

layout animation android listview

13
推荐指数
2
解决办法
1万
查看次数

Android:有没有一种简单的方法可以找到我项目中的所有字符串?

我想扫描我的Android项目中的所有硬编码字符串,以便我可以本地化项目,将字符串放在strings.xml中.我在Eclipse中看到了一个"Externalize Strings ..."的选项,但它不是特定于Android的.

我知道你可以重构单个字符串,但我想立刻重构所有字符串.我有很多文件,我试图避免手动浏览每一个文件.

string android localization

13
推荐指数
2
解决办法
3661
查看次数

断言ImageView加载了特定的可绘制资源ID

我正在编写一个Robolectric单元测试,我需要断言ImageView 上有一个带有特定资源ID的setImageResource(int).我正在使用fest-android进行断言但它似乎不包含这个断言.

我还试图从ImageView 获取Robolectric 的ShadowImageView,因为我知道它曾经让你访问它,但它现在已经消失了.

最后,我尝试在我的代码中调用setImageDrawable而不是setImageResource,然后在我的测试断言中这样:

assertThat(imageView).hasDrawable(resources.getDrawable(R.drawable.some_drawable));
Run Code Online (Sandbox Code Playgroud)

但这也失败了,即使失败消息清楚地表明它是相同的Drawable被加载.

android unit-testing robolectric

13
推荐指数
3
解决办法
5607
查看次数

使用Robolectric测试AsyncTaskLoaders

有没有人有幸为Robolectric的AsyncTaskLoaders编写单元测试?我为AsyncTask尝试了此示例的修改版本,但它没有表现出相同的行为.特别onLoadFinished是永远不会被称为.有没有可行的例子来测试装有Robolectric的装载机?

android unit-testing robolectric asynctaskloader

13
推荐指数
1
解决办法
1249
查看次数

Android:当键盘消失时,EditText上的错误弹出窗口不会向下移动

我有一个活动,在屏幕上显示一些EditTexts用于用户输入.为了确保软键盘显示时我没有覆盖我的字段我已经设置了属性

android:windowSoftInputMode="adjustPan"
Run Code Online (Sandbox Code Playgroud)

我在清单中的活动.我在1时验证EditText的内容.视图失去焦点2.当用户执行'Enter'操作时.验证后,如果该值无效,我正在打电话

setError(CharSequence error)
Run Code Online (Sandbox Code Playgroud)

在EditText上,这会导致弹出窗口显示包含我传入的错误.问题是如果在软键盘显示时向上移动EditText,并且此时显示弹出窗口(验证失败),弹出窗口没有当键盘离开时,请按下EditText,它将保持在首次显示的位置.

有想法该怎么解决这个吗?这是Android中的错误吗?

android popup android-edittext

12
推荐指数
1
解决办法
1万
查看次数

has_secure_password如何在我的模型类中工作?

我正在做Michael HartlRails教程,我已经到了你只需添加:

has_secure_password
Run Code Online (Sandbox Code Playgroud)

你的模特课和一堆魔术发生了.

我知道这个方法来自我的模型类扩展的ActiveModel::SecurePassword模块ActiveRecord::Base.

我不明白的是当我将一行添加到我的类定义时会发生什么.有人可以尽可能详细地解释.我真的想了解发生了什么,而不仅仅是在我的应用程序中扔东西而不知道它是如何工作的.

(如果它有助于理解为什么我感到困惑,我来自Java背景,我是Ruby的新手)

ruby ruby-on-rails ruby-on-rails-3

12
推荐指数
1
解决办法
4484
查看次数