使用默认的Android Studio导航抽屉切换片段

Arn*_*ain 3 android android-fragments 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;
    }
}
Run Code Online (Sandbox Code Playgroud)

PS:onItemClickListener班级中的另一个ListView不是导航抽屉中的那个.基本上我正在使用parse.com并填充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();

    }
Run Code Online (Sandbox Code Playgroud)

fragment = new HomeFragment();,android studio告诉我需要android.support.v4.app.fragment.这是为什么 ?

And*_*Bas 7

(如果你没有这样做):在AndroidStudio中,最好使用导航抽屉生成示例活动(Alt +插入 - >活动 - >导航抽屉活动(在Android Studio 0.8.+上))您将获得活动使用一些drawable托管NavigationDrawerFragment.

在NavigationDrawerFragment中,onCreateView您填充要在抽屉中显示的列表项,活动将自动实现NavigationDrawerFragment.NavigationDrawerCallbacks与方法的接口onNavigationDrawerItemSelected(int position).单击导航抽屉中某个位置的项目时会调用此方法,并且在此方法中,您将替换R.id.container该位置上所需的片段.

您不必使用PlaceholderFragment,在您实现自己之前,它是第一次显示的模拟.随意删除它并创建您想要的任何片段.

并且OnItemClickListener已经在onCreateViewNavigationDrawerFragment的方法中实现.