我注意到我的 gridview/fragments 有问题。我通过单击 gridview 项目来更改我的片段,但是每当我的应用程序在后台运行几个小时时,单击 gridview 项目就会变得非常奇怪/不正确。
例如,我的 gridview 中有 4 个项目:A、B、C 和 D 单击 A 以查看 fragment1。点击 B 查看 fragment2(等等)。
如果我现在单击 A,它应该切换到 fragment1,但没有任何反应。然后,如果我点击B,它应该切换到fragment2,但它正在切换到fragment1。然后单击 C,它将切换到 fragment2,但不会切换到 fragment3,因为它应该。
点击事件基本上总是落后 1 步。
如果我重新启动应用程序,一切正常。
这是我的 onItemClickListener:
item_gridview.setOnItemClickListener(new AdapterView.OnItemClickListener()
{
public void onItemClick(AdapterView<?> parent, View v, int positionBasic, long id) {
if(positionBasic == 0)
{
Fragment fragmentItem001 = new Fragment1();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.itemDescrFragment, fragmentItem001);
transaction.commit();
Toast.makeText(ItemDescrFragment.this, "" + positionBasic, Toast.LENGTH_SHORT).show();
}
if(positionBasic == 1)
{
Fragment fragmentItem002 = new Fragment2();
FragmentTransaction transaction = getFragmentManager().beginTransaction();
transaction.replace(R.id.itemDescrFragment, fragmentItem002);
transaction.commit();
Toast.makeText(ItemDescrFragment.this, "" + positionBasic, Toast.LENGTH_SHORT).show();
}
}
Toast 总是显示正确的项目位置,但它不会切换到正确的片段。其余代码与Android Developer 示例几乎相同。