片段中用于切换到另一个活动的按钮 - 不起作用

我想在片段中创建一个按钮以切换到另一个活动。我做了所有的事情,但按钮没有反应。出现按下时的动画,但该方法本身不起作用。为了清楚起见,我做了一个祝酒词,它也不起作用。如何让按钮起作用?


ActionsFragment.java


public class ActionsFragment extends Fragment {

    public ActionsFragment(){


    }


    Button Button_Add;

    @Override

    public View onCreateView(LayoutInflater inflater, ViewGroup container,

                             Bundle savedInstanceState){

        View v = inflater.inflate(R.layout.fragment_actions, container, false);

        Button_Add = (Button) v.findViewById(R.id.button_Add);

        Button_Add.setOnClickListener(new View.OnClickListener() {

            @Override

            public void onClick(View v) {

                Toast toast = Toast.makeText(getContext(), "Button", Toast.LENGTH_SHORT);

                toast.show();

                switch (v.getId()){

                    case R.id.button_Add:

                        Intent intent = new Intent(ActionsFragment.this.getActivity(),Action_AddActivity.class);

                        startActivity(intent);

                        break;

                        default:

                        break;

                }

            }

        });


        return v;


    }

}

我的 xml 文件


 <Button

        android:id="@+id/button_Add"

        android:layout_width="wrap_content"

        android:layout_height="wrap_content"

        android:layout_marginEnd="25dp"

        android:layout_marginRight="25dp"

        android:layout_marginBottom="25dp"

        android:text="Button"

        app:layout_constraintBottom_toTopOf="@+id/divider3"

        app:layout_constraintEnd_toEndOf="parent" />


阿波罗的战车
浏览 54回答 2
2回答

森林海

您需要从活动上下文中调用startActivity(intent) 。因此,要么在创建片段时将上下文传递给片段,要么使用getActivity().startActivity(intent);

汪汪一只猫

我看到的主要问题是您正在切换视图,通过这种方式您将无法传递到其他活动。很简单,清除代码即可。 尝试这个:button_Add.setOnClickListener(new View.OnClickListener() {&nbsp; &nbsp; &nbsp; &nbsp; @Override&nbsp; &nbsp; &nbsp; &nbsp; public void onClick(View v) {&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Intent intent = new Intent(ActionsFragment.this.getActivity(),Action_AddActivity.class);&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; getActivity().startActivity(intent);&nbsp; &nbsp; &nbsp; &nbsp; }&nbsp; &nbsp; });
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Java