【发布时间】:2013-01-26 10:45:33
【问题描述】:
这个问题已经被问过很多次了,我系统地检查了每个问题,并试图找出performItemClick 的哪个版本有效。不幸的是,尽管调用了我的 onclick 方法,但我无法让它们中的任何一个工作。
我有一个列表视图,其中 5 个项目嵌入到一个片段中。该片段由片段状态页面适配器和视图页面控制。我正在尝试恢复保存的状态。
lv.setAdapter(new SimpleAdapter(getActivity(), list,
R.layout.list_imageview, new String[] { "answer" },
new int[] { android.R.id.text1 }));
简单的适配器接受一个自定义布局,该布局在布局中具有 textview 和 imageview。最初,图像视图为空,单击时将其设置为勾号或十字。当我自己单击项目时,这有效,但不能以编程方式工作,如下所示:
@Override
public void onViewStateRestored(Bundle savedInstanceState) {
super.onViewStateRestored(savedInstanceState);
if (savedInstanceState != null) {
for (int i = 0; i < 5; i++) {
lv.performItemClick(lv.getAdapter().getView(i, null, null),
i, i);
Log.e("restoring state", "" + i);
}
}
}
我可以确认onViewStateRestored 被调用并且onItemClick 也被调用。我认为这是我执行项目单击方式的问题。我目前只是想让它工作;我知道我尚未检查已单击哪些项目以选择性地单击它们,但这很容易boolean[]。
感谢您的帮助,对于如此简单的问题已经重复了很多次,我深表歉意;尽管阅读了它们,但我仍然无法让它们工作。
【问题讨论】:
标签: android listview onitemclick