簡體   English   中英

使用默認的Android Studio導航抽屜切換片段

[英]Switch Fragment with default Android Studio navigation drawer

我在Android Studio中實現導航抽屜時有點迷失。 onCreate方法調用PlaceholderFragment類,我真的不明白它是什么。

但無論如何,我應該在哪里實現我的onItemClickListener根據導航抽屜中選擇的項目顯示不同的fragments

這是我目前的PlaceholderFragment:

public static class PlaceholderFragment extends Fragment {

    private ListView listView;
    private CustomAdapter expenseAdapter;

    public PlaceholderFragment() {
    }

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        View rootView = inflater.inflate(R.layout.fragment_main, container, false);

        expenseAdapter = new CustomAdapter(getActivity());

        listView = (ListView) rootView.findViewById(R.id.lvExpense);
        listView.setAdapter(expenseAdapter);
        expenseAdapter.loadObjects();
        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int position, long l) {
                String expense = expenseAdapter.getItem(position).get("title").toString();
                Toast.makeText(getActivity(), expense, Toast.LENGTH_SHORT).show();
            }
        });

        return rootView;
    }
}

PS:類中的onItemClickListener用於另一個ListView ,它不是導航抽屜中的那個。 基本上我正在使用parse.com並使用db中的項填充ListView

謝謝。

編輯:我終於在onNavigationDrawerItemSelected使用此代碼:

Fragment fragment = null;
    switch (position) {
        case 0:
            fragment = new HomeFragment();
            break;
        case 1:
            fragment = new SearchFragment();
            break;
        default:
            break;
    }

    if (fragment != null) {
        FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.container, fragment).commit();

    }

fragment = new HomeFragment(); ,android studio告訴我需要android.support.v4.app.fragment。 這是為什么 ?

(如果你沒有這樣做):在AndroidStudio中,最好使用導航抽屜生成示例活動(Alt +插入 - >活動 - >導航抽屜活動(在Android Studio 0.8。+上))您將獲得活動使用一些drawable托管NavigationDrawerFragment。

在NavigationDrawerFragment onCreateView您填充要在抽屜中顯示的列表項,並且活動將使用方法onNavigationDrawerItemSelected(int position)自動實現NavigationDrawerFragment.NavigationDrawerCallbacks接口。 單擊導航抽屜中某個位置的項目時會調用此方法,在此方法中,將R.id.container替換R.id.container位置所需的片段。

您不必使用PlaceholderFragment ,它是在您實現自己之前首次顯示的模擬。 隨意刪除它並創建您想要的任何片段。

OnItemClickListener已經在NavigationDrawerFragment的onCreateView方法中實現。

占位符片段就是這樣。 它是一個空白片段,在自動生成的代碼中用於向您展示如何使用導航抽屜。 您可以在導航抽屜中使用任何片段。

在實現NavigationDrawerFragment的活動中的onNavigationDrawerItemSeleced(int position)中選擇項目時,可以顯示片段。 您可以使用FragmentManager將舊片段換成新片段。

暫無
暫無

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

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