当前位置: 首页 > 知识库问答 >
问题:

在活动中通过onclicklistener切换片段

董凡
2023-03-14
public class StartActivity extends Activity {

    public static Context appContext;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        //Fragment
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction =
            fragmentManager.beginTransaction();

        MeinFragment A_fragment = new MeinFragment();
        fragmentTransaction.replace(android.R.id.content, A_fragment);

        fragmentTransaction.commit();

        ImageButton BTN1 = (ImageButton) findViewById(R.id.leftButton);
        BTN1.setOnClickListener(new OnClickListener() {
            public void onClick(View v) {
                SearchFragment A_fragment = new SearchFragment();
                fragmentTransaction.replace(android.R.id.content, A_fragment);

            }
        }); 
    }
}
@Override
public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    FragmentManager fragmentManager = getFragmentManager();
    FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();


    MeinFragment A_fragment = new MeinFragment();


    fragmentTransaction.replace(android.R.id.content, A_fragment);

    fragmentTransaction.commit();


  //Fragments changing
    ImageButton BTN1 = (ImageButton) findViewById(R.id.leftButton);
   BTN1.setOnClickListener(new OnClickListener() {
       public void onClick(View v) {



          FragmentManager fragmentManager = getFragmentManager();
            FragmentTransaction fragmentTransaction =                        fragmentManager.beginTransaction();


          SearchFragment B_fragment = new SearchFragment();
            fragmentTransaction.replace(android.R.id.content, B_fragment);
            fragmentTransaction.commit();

       }
       });

}

和logcat:

共有1个答案

文德曜
2023-03-14
fragmentTransaction
    .beginTransaction()
    .replace(android.R.id.content, A_fragment)
    .commit();
 类似资料:
  • 我有使用碎片的活动。但如果我想使用OnClickListener,我的应用程序就会崩溃。如果我不使用OnClickListener,那么一切都可以。我该如何解决这个问题呢?这是我的代码。 d/gralloc_goldfish(796):检测到没有GPU仿真的仿真程序。d/AndroidRuntime(923):Threadid=1:线程退出但未捕获异常(组=0x41465700)致命异常:Main

  • 我不是Android方面的专家,但对片段非常感兴趣。非常感谢您的帮助! 我在我的应用程序中实现了一个导航抽屉。有一个基本抽屉活动和一些片段,用户可以从抽屉菜单中切换。如果我想转移到另一个片段,没有问题,但当我使用意图开始一个新的活动时,它是有效的。如果你看一下我下面的代码,你会发现我使用了两个独立的菜单:一个用于操作栏图标(购物车和搜索),意图在其中完美工作,另一个用于导航抽屉在片段之间跳转。有没

  • RecyclerView不同于ListView,因为它不提供onItemCLickListener类来处理单击事件。

  • 我没有使用查看页面,我调用任何片段事务的唯一地方是单击活动布局中导航栏上的按钮。 当我切换到片段太快(像来回),我得到这个例外: java.lang.IllegalStateException:无活动 当我点击切换另一个片段时,第一个片段还没有完全加载完毕。我正在使用碎片活动。 有人能对此发表一些见解吗? 我的代码切换s: 编辑:去掉过渡解决了问题,但我想知道是否有一种方法可以在适当的位置完成过渡

  • 我创建了一个带有底部导航栏的活动。我在谷歌上搜索了很多关于它的信息,但现在我不知道如何准确地处理这个问题。之前,当用户点击底部导航时,我刚刚开始了另一个活动,但我认为这不好。 如何在选项卡之间切换?我必须处理碎片吗?那么“setContentView(int layoutResID)”呢?我该怎么做?我很困惑。。。 非常感谢你的帮助——我希望你明白我的意思。

  • 假设你有两个活动-A和B,你从A开始B。在B中,你有一个任务。如果任务完成,您希望返回到按下when back键,如果没有,您希望取消整个应用程序。但在解除后,你可以从最近的应用程序菜单中恢复B。如果在那之后你需要同样的后退键的行为。 因此,我想放弃一个活动或整个应用程序(但简历的可能性)。有什么办法可以做到这一点吗?