GridView + Fragments + onClickListener =奇怪的行为

时间:2013-10-26 17:01:52

标签: android gridview android-fragments

我注意到我的gridview /片段存在问题。我通过单击gridview项来更改我的片段,但每当我的应用程序在后台运行几个小时时,单击gridview项就会变得非常奇怪/不正确。

例如我的gridview中有4个项目: A,B,C& d 单击A查看fragment1。 单击B查看fragment2(依此类推)。

如果我现在点击A,它应该切换到fragment1,但没有任何反应。 然后,如果我点击B,它应该切换到fragment2,但它会切换到fragment1。 单击然后在C上它将切换到fragment2,但不会切换到fragment3,因为它应该。

点击事件基本上总是落后一步。

如果我重新启动应用程序,一切正常。

这是我的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 example.

几乎相同

0 个答案:

没有答案