我想在片段中创建一个按钮以切换到另一个活动。我做了所有的事情,但按钮没有反应。出现按下时的动画,但该方法本身不起作用。为了清楚起见,我做了一个祝酒词,它也不起作用。如何让按钮起作用?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);
汪汪一只猫
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);
}
});
添加回答
举报
0/150
提交
取消