小编jad*_*sta的帖子

预览小部件在更新后未显示正确的图像

我有一个具有小部件预览图像的应用程序.我最近在应用程序上更新了这个图像,但在具有Android的Lollipop(5.0)版本的设备中,窗口小部件的预览图像显示旧图像(我替换的图像).没有棒棒糖的设备也不会出现同样的情况.

我将资源文件夹上下颠倒搜索旧图像,但它在所有地方都正确更新(实际上,它只在一个文件夹中,因为我只有一个预览图像).

只是为了提供更多信息,我使用的是Android Studio 1.0-rc1,这个问题只发生在运行棒棒糖(5.0)的Nexus 4上.我在Lollipop的一些模拟器中测试过,同样的事情发生了.

重要的是要强调,如果我从未安装任何以前版本的应用程序(使用旧的小部件预览图像),当我安装新版本时,预览图像看起来是正确的.

有人有同样的问题,或知道如何解决这个问题?谢谢.

android

18
推荐指数
2
解决办法
2752
查看次数

在操作栏列表菜单中使用自定义适配器时使用Nullpointer(使用compat-v7)

当使用最新版本的兼容性lib(即compat-lib的v18,与4.3 Android版本一起发布)并使用操作栏中的列表导航菜单模式时,我将遇到Nullpointer异常.该错误发生在2.3.3版本的android中.我相信这是因为在这个版本(以及其他版本)中,使用的整个操作栏代码是compat-lib代码.

当我点击列表菜单(在操作栏上)时,我的应用程序崩溃,我在logcat收到以下错误:

07-30 18:17:59.296: E/AndroidRuntime(14701): FATAL EXCEPTION: main
07-30 18:17:59.296: E/AndroidRuntime(14701): java.lang.NullPointerException
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.support.v7.internal.widget.ListPopupWindow$DropDownListView.measureHeightOfChildrenCompat(ListPopupWindow.java:1317)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.support.v7.internal.widget.ListPopupWindow.buildDropDown(ListPopupWindow.java:1062)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.support.v7.internal.widget.ListPopupWindow.show(ListPopupWindow.java:514)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.support.v7.internal.widget.SpinnerICS$DropdownPopup.show(SpinnerICS.java:758)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.support.v7.internal.widget.SpinnerICS.performClick(SpinnerICS.java:443)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.view.View$PerformClick.run(View.java:9109)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.os.Handler.handleCallback(Handler.java:587)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.os.Handler.dispatchMessage(Handler.java:92)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.os.Looper.loop(Looper.java:130)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at android.app.ActivityThread.main(ActivityThread.java:3683)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at java.lang.reflect.Method.invokeNative(Native Method)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at java.lang.reflect.Method.invoke(Method.java:507)
07-30 18:17:59.296: E/AndroidRuntime(14701):    at …
Run Code Online (Sandbox Code Playgroud)

android android-actionbar android-support-library android-actionbar-compat

10
推荐指数
1
解决办法
2589
查看次数

尝试访问raw文件夹中的资源时,Robolectric抛出Resources $ NotFoundException

当我尝试访问原始资源时收到android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f060000错误.

该资源是.bks证书,用于服务器验证.它存储在res/raw文件夹中.

最尴尬的是,当我将证书(和验证架构)复制到一个新项目(我为了测试它而构建)时,它起作用了!

我正在使用nenick的自定义运行器,因此Robolectric可以正确找到清单,资源和资产的文件夹.当我转到intermediates/res/debug文件夹时,所有资源都在那里.我没有项目中的风味(项目曾经有过,我删除了它们.也许这就是问题?)

我正在使用com.android.tools.build:gradle:1.2.2.buildToolsVersion '22.0.1'.我对该项目有很多依赖:(

另外,我正在使用testCompile 'org.robolectric:robolectric:3.0-rc2'testCompile 'org.robolectric:shadows-support-v4:3.0-rc2' 堆栈跟踪:

android.content.res.Resources$NotFoundException: Unable to find resource ID #0x7f060000
    at org.robolectric.shadows.ShadowResources.getResName(ShadowResources.java:346)
    at org.robolectric.shadows.ShadowResources.openRawResource(ShadowResources.java:385)
    at android.content.res.Resources.openRawResource(Resources.java)
    at com.xxx.xxx.xxx.ssl.CertificateHelper.loadKeyStoreFromRaw(CertificateHelper.java:145)
    at com.xxx.xxx.xxx.xxx.XXX.createSSLSocketFactory(XXX.java:432)
    at com.xxx.xxx.xxx.xxx.xxx.XXX.<init>(XXX.java:92)
    at com.xxx.xxx.xxx.xxx.xxx.XXX.initiate(XXX.java:73)
    at com.xxx.xxx.xxx.MainApplication.onCreate(MainApplication.java:60)
    at org.robolectric.internal.ParallelUniverse.setUpApplicationState(ParallelUniverse.java:131)
    at org.robolectric.RobolectricTestRunner.setUpApplicationState(RobolectricTestRunner.java:431)
    at org.robolectric.RobolectricTestRunner$2.evaluate(RobolectricTestRunner.java:224)
    at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:325)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:78)
    at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:57)
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:290)
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:71)
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:288)
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:58)
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:268)
    at org.robolectric.RobolectricTestRunner$1.evaluate(RobolectricTestRunner.java:168)
    at org.junit.runners.ParentRunner.run(ParentRunner.java:363)
    at org.junit.runner.JUnitCore.run(JUnitCore.java:137) …
Run Code Online (Sandbox Code Playgroud)

android robolectric android-resources

9
推荐指数
1
解决办法
3468
查看次数

设置每个方法的活动模型串行器适配器

我正在尝试在 Rails 5 中构建一个仅 api 的应用程序。我正在使用活动模型序列化器(AMS)。在我的GET /users(UsersController#index) 端点上,我希望根 json 在用户的 json 数组之前有一个“users”关键字。

如果我设置一个带有ActiveModelSerializers.config.adapter = :json 值的初始值设定项,那么我将获得所需的行为。

但是, GET /users/1简单的用户 json 位于 key 下user。我想摆脱这个键(在本例中)并简单地将用户 json 回答为根 json。

问题是:如何在特定端点/响应/方法上定义 AMS 适配器?那可能吗?

active-model-serializers ruby-on-rails-5

3
推荐指数
1
解决办法
2674
查看次数