gpt4 book ai didi

java - Viewpager 但不响应 clicklistener/

转载 作者:太空狗 更新时间:2023-10-29 15:09:51 24 4
gpt4 key购买 nike

我有一个错误,我知道是怎么回事,但不确定是否要解决它。

我有一个 viewpager,其中每个单独的 fragment 还包含另外两个 fragment ——一个正面和一个背面。该应用程序基本上是一个抽认卡应用程序,您可以在其中滑动以获取下一张卡片,当您单击它时它会转向另一面。

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

我的听众在我的外部 fragment 中

           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 并确保它永远不会删除任何页面?

最佳答案

这个答案花了我整整 3 周的时间来解决!我做错的是你没有分离和添加你只是简单地使用“替换”的 fragment 。

关于java - Viewpager 但不响应 clicklistener/,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825204/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com