我想在片段中創建一個按鈕以切換到另一個活動。我做了所有的事情,但按鈕沒有反應。出現按下時的動畫,但該方法本身不起作用。為了清楚起見,我做了一個祝酒詞,它也不起作用。如何讓按鈕起作用?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
提交
取消