簡體   English   中英

導航操作未在 Jetpack Navigation 上執行

[英]Nav action not executing on Jetpack Navigation

面對 Jetpack Navigation 的奇怪問題,任何幫助將不勝感激。 我有一個導航圖如下:

我想使用噴氣背包導航從一個片段導航到其他兩個片段。 到目前為止,我已經能夠僅定位到從entry_fragmentsecond_fragment如下圖所示的畫面。 導航圖

我的 EntryFragment.class :

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {

    View v = inflater.inflate(R.layout.fragment_entry,container,false);
    v.findViewById(R.id.fragmentOneButton).setOnClickListener(ls);
    v.findViewById(R.id.fragmentTwoButton).setOnClickListener(ls);
    return v;
}

@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);
}

private final View.OnClickListener ls = new View.OnClickListener() {
    @Override
    public void onClick(View view) {
        switch (view.getId()) {
            case R.id.fragmentOneButton:
                Toast.makeText(getActivity().getApplicationContext(), "First Button", Toast.LENGTH_SHORT).show();
Navigation.createNavigateOnClickListener(R.id.action_entry_fragment_to_first_fragment).onClick(view);
                break;
            case R.id.fragmentTwoButton:
                Toast.makeText(getActivity().getApplicationContext(), "Second Button", Toast.LENGTH_SHORT).show();
                Navigation.createNavigateOnClickListener(R.id.action_entry_fragment_to_second_fragment).onClick(view);
                break;
        }
    }
};

在第一個按鈕單擊時,我只得到吐司,單擊第二個按鈕時,我實際上可以導航到SecondFragment 我在這里做錯了什么? 以及使用 Navigation 進行導航的最佳實踐是什么。

提前致謝

嘗試使用NavHostFragment.findNavController(fragment).navigate(R.id.action_created_from_graph)而不是 Navigation.createNavigateOnCLickListener

我記不清了,所以語法可能有點不對,但這就是它的要點。

暫無
暫無

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

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