3

我有一个错误,我有点知道发生了什么,但不确定如何解决它。

我有一个查看器,其中每个单独的片段还包含另外两个片段——正面和背面。该应用程序基本上是一个抽认卡应用程序,您可以在其中滑动下一张卡片,然后单击它会转到另一侧。

我的问题:我在两边都有一组单选按钮。如果用户选中一个按钮并点击卡片,卡片应该会转动,并且新选择的单选按钮选项也应该出现在卡片的另一侧。两边按钮的功能是一样的——我只是把它放在两边,这样用户就可以选择更改单选按钮,无论他/她是在抽认卡的正面还是背面。如果您选择单选按钮,则单选按钮在另一侧发生变化的部分仅在每张卡都是新鲜的时才有效。如果您滚动关闭屏幕限制并向后滑动,该功能将不再起作用(另一侧的单选按钮不会自动更改为新选择的单选按钮)。但是由于我的 offscreenlimit 是 2,如果您滚动到下一张卡片然后向后滚动,

我的外部片段中的听众

           final ViewAnimator viewAnimator1 = (ViewAnimator) viewFlipper;
       viewAnimator1.setOnClickListener(new OnClickListener(){
           @Override
           public void onClick(View v){
               ((definitionFragment) definitionFragment1).update();
               ((wordFragment) wordFragment1).update();            
               AnimationFactory.flipTransition(viewAnimator1, FlipDirection.RIGHT_LEFT);
               final FragmentTransaction transaction3 = getChildFragmentManager().beginTransaction();
               transaction3.detach(definitionFragment1);
               transaction3.add(R.id.fragment_definition, definitionFragment1);
               final FragmentTransaction transaction4 = getChildFragmentManager().beginTransaction();
               transaction4.detach(wordFragment1);
               transaction4.add(R.id.fragment_word, wordFragment1);

           }

更新方法:

public void update(){
    DatabaseHandler db1 = new DatabaseHandler(getActivity());
     List<VocabWord>words1 = db1.getAllVocabWords();
     switch(words1.get(pagenumber).getCategory())
        {
        case 0:
            mDefaultButton.setChecked(true);
            break;

        case 1:
            mRedButton.setChecked(true);
            break;

        case 2:
            mYellowButton.setChecked(true);
            break;


        case 3:
            mGreenButton.setChecked(true);
            break;

        }


}

有人知道如何解决这个问题吗?或者有谁知道如何设置一个不存在的 offscreenpagelimit 并确保它永远不会删除任何页面?

4

1 回答 1

0

这个答案花了我整整 3 周的时间来解决!我做错的不是分离和添加您只需使用“替换”的片段。

于 2013-08-15T20:53:05.390 回答