我在我的Android应用程序中实现了导航抽屉.但现在我希望能够在用户单击导航栏中的任何列表项时使用片段更改布局.这是我到目前为止所得到的:
XML
Java文件
public class MainActivity extends Activity { final String[] data ={"one","two","three"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ArrayAdapteradapter = new ArrayAdapter (this, android.R.layout.simple_list_item_1, data); final DrawerLayout drawer = (DrawerLayout)findViewById(R.id.drawer_layout); final ListView navList = (ListView) findViewById(R.id.left_drawer); navList.setAdapter(adapter); navList.setOnItemClickListener(new AdapterView.OnItemClickListener(){ @Override public void onItemClick(AdapterView> parent, View view, final int pos,long id){ drawer.setDrawerListener( new DrawerLayout.SimpleDrawerListener(){ @Override public void onDrawerClosed(View drawerView){ super.onDrawerClosed(drawerView); } }); drawer.closeDrawer(navList); } }); } }
使用上面的代码,我在我的应用程序中实现了导航抽屉,我在导航抽屉中看到"一个","两个"和"三个"列表项,但是当我点击它们除抽屉关闭之外没有任何反应.所以,我的问题是: 如何将片段功能添加到上面给出的代码中?
我是初学者.提前致谢!
点击就可以了
selectItem(pos);
然后
public void selectItem(int position) { switch(position) { case 0: // fragment1 // use fragment transaction and add the fragment to the container FragmentManager fragmentManager = getFragmentManager() FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction(); Fragment1 fragment = new Fragment1(); fragmentTransaction.add(R.id.content_frame, fragment); fragmentTransaction.commit(); break; case 1: // fragment2 break; case 2: // fragment2 break; } }