阿波羅的戰(zhàn)車
2024-01-05 16:41:28
我想在片段中創(chuàng)建一個(gè)按鈕以切換到另一個(gè)活動(dòng)。我做了所有的事情,但按鈕沒(méi)有反應(yīng)。出現(xiàn)按下時(shí)的動(dòng)畫,但該方法本身不起作用。為了清楚起見(jiàn),我做了一個(gè)祝酒詞,它也不起作用。如何讓按鈕起作用?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貢獻(xiàn)2011條經(jīng)驗(yàn) 獲得超2個(gè)贊
您需要從活動(dòng)上下文中調(diào)用startActivity(intent) 。因此,要么在創(chuàng)建片段時(shí)將上下文傳遞給片段,要么使用
getActivity().startActivity(intent);

汪汪一只貓
TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
我看到的主要問(wèn)題是您正在切換視圖,通過(guò)這種方式您將無(wú)法傳遞到其他活動(dòng)。很簡(jiǎn)單,清除代碼即可。 嘗試這個(gè):
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);
}
});
添加回答
舉報(bào)
0/150
提交
取消