簡體   English   中英

Android Studio Fragment RoomListFragment 未附加到活動(在導航抽屜中啟動新活動)

[英]Android Studio Fragment RoomListFragment not attached to Activity (start new activity in navigation drawer)

我在打開 RoomListFragment 類的新活動時遇到問題。 我使用導航抽屜。

這是我的 RoomListFragment.class

public class RoomListFragment extends Fragment {
private View root;

public View onCreateView(@NonNull LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
    root = inflater.inflate(R.layout.fragment_rooms, container, false);

    ListView listView = root.findViewById(R.id.listView);

    RoomListAdapter adapter = new RoomListAdapter(root.getContext(),mTitle,mDescription);

    listView.setAdapter(adapter);

    return root;
}

void startRoomEditManagerActivity(Context context) {
    Intent intent = new Intent(context, RoomEditManager.class);
    startActivity(intent);
}

}

和我的第二堂課,我有一個按鈕,其中有一個 i 活動函數 startRoomEditManagerActivity

   RoomListAdapter(Context roomListContext, String[] roomListName, String[] roomListDescription) {
    super(roomListContext, R.layout.row, R.id.testTextView1, roomListName);
    this.roomListName = roomListName;
    this.roomListDescription = roomListDescription;
    this.contextRoomList = roomListContext;
}
        @Override
        public void onClick(View v) {
            editRoomButton.setText(roomListName[position]);

            Toast.makeText(getContext(), roomListName[position] +" id : " + String.valueOf(editRoomButton.getId()),Toast.LENGTH_SHORT).show();

            RoomListFragment roomlistFragment = new RoomListFragment();
            roomlistFragment.startRoomEditManagerActivity(contextRoomList);

        }

謝謝幫助^^

將 onclick 替換為

 @Override
        public void onClick(View v) {
            editRoomButton.setText(roomListName[position]);

            Toast.makeText(getContext(), roomListName[position] +" id : " + String.valueOf(editRoomButton.getId()),Toast.LENGTH_SHORT).show();

Intent intent = new Intent(contextRoomList , RoomEditManager.class);
    contextRoomList.startActivity(intent);

        }

然后,在您的 roomlistFragment 中,您不需要以下代碼

void startRoomEditManagerActivity(Context context) {
    Intent intent = new Intent(context, RoomEditManager.class);
    contextRoomList.startActivity(intent);
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM