Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 单击“打开活动”按钮上的“片段”用片段加载它_Android_Android Fragments - Fatal编程技术网

Android 单击“打开活动”按钮上的“片段”用片段加载它

Android 单击“打开活动”按钮上的“片段”用片段加载它,android,android-fragments,Android,Android Fragments,下面的图片是我想要的 MainActivity有一个片段,其中有3个按钮 单击按钮,容器应加载特定片段 ContainerActivity应该加载片段 我创造了三个片段 学习片段,数学片段,科学片段 我试过下面的代码,但不起作用 View view = inflater.inflate(R.layout.fragment_first, container, false); Button btn = (Button)view.findViewById(R.id.button1); btn.setO

下面的图片是我想要的

MainActivity有一个片段,其中有3个按钮

单击按钮,容器应加载特定片段

ContainerActivity应该加载片段

我创造了三个片段 学习片段,数学片段,科学片段

我试过下面的代码,但不起作用

View view = inflater.inflate(R.layout.fragment_first, container, false);
Button btn = (Button)view.findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent intent = new Intent(First.this.getActivity(),Container.class);
        startActivity(intent);

        Second second = new Second();
        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.replace(R.id.cont,second).addToBackStack(null).commit();
    }
});

它实际上与图片中显示的概念不匹配,但要做到这一点,请按如下方式处理按钮:

Button btn = (Button)view.findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
    @Override
    public void onClick(View v) {

        Intent intent = new Intent(getActivity(), Container.class);
        startActivity(intent);
        // First go to container class-Activity

    }
});
然后,在容器类活动中,显示片段:


请注意,它应该放在onCreate方法中以显示片段。

尝试删除this:First.this.getActivity并将其替换为:getActivity。另外,您是否要求在单击按钮时显示多个片段和活动?因为您的代码显示,当单击按钮时,它应该转到容器类,然后替换一个片段!!代码与概念并不完全匹配,因为概念本身已经为Activity&Fragment类使用了混乱的名称。最有可能的意图应该是intentmainactive.this,ContainerActivity.class;通过一束额外的意图,你可以膨胀相应的碎片。可以提供提示,但不会做作业。但在特定按钮上单击它将不会显示我所需的部分
Second second = new Second();
        FragmentTransaction transaction = getFragmentManager().beginTransaction();
        transaction.replace(R.id.cont, second).addToBackStack(null).commit();