在我的Android应用程序的一个Activity
(顺便说一句是SherlockActivity
)中,我有一个正常的ListView
。
对于那个ListView
,我通过AdapterView.OnItemClickListener
设置了getListView().setOnItemClickListener(...)
。
在该监听器中,使用AlertDialog
类构建AlertDialog.Builder
,然后向用户显示:
getListView().setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, final View v, int position, long id) {
AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this);
...
builder.setMessage(Html.fromHtml(...));
builder.show();
}
}
现在正好在调用builder.show()
时,以下警告始终出现在LogCat中:
W/ResourceType(463): Failure getting entry for 0x010802c9 (t=7 e=713) in package 0 (error -75)
这是从哪里来的?对我而言,似乎这是我无法控制的,因为它出现在builder.show()
中,因此可能会在AlertDialog
类的源代码中生成此警告。这是真的吗?
如果没有,我怎样才能找到丢失的资源?如何调试此警告?
编辑: 0x010802c9
中没有R.java
的相应条目(或运行时的任何值),所以我真的不知道如何调试这个
答案 0 :(得分:1)
您是否尝试从工作线程而不是GUI线程打开它? 您可以使用以下命令检查线程是否为GUI线程:
Looper.myLooper() == Looper.getMainLooper()
为了确保从GUI线程打开它,请使用处理程序或runOnUiThread方法。