0

我注意到我的 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 示例几乎相同。

4

0 回答 0