为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

阿波罗的战车 2024-01-05 16:41:28
我想在片段中创建一个按钮以切换到另一个活动。我做了所有的事情,但按钮没有反应。出现按下时的动画,但该方法本身不起作用。为了清楚起见,我做了一个祝酒词,它也不起作用。如何让按钮起作用?ActionsFragment.javapublic 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" />
查看完整描述

2 回答

?
森林海

TA贡献2011条经验 获得超2个赞

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

getActivity().startActivity(intent);


查看完整回答
反对 回复 2024-01-05
?
汪汪一只猫

TA贡献1898条经验 获得超8个赞

我看到的主要问题是您正在切换视图,通过这种方式您将无法传递到其他活动。很简单,清除代码即可。 尝试这个:


button_Add.setOnClickListener(new View.OnClickListener() {

        @Override

        public void onClick(View v) {

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

            getActivity().startActivity(intent);

        }

    });


查看完整回答
反对 回复 2024-01-05
  • 2 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信