0
我想打开一个列表视图,当点击这个项目时,我使用了listfragment和抽屉导航我自定义了默认抽屉导航活动,当我点击导航抽屉的菜单项时,整个listfragment打开的抽屉导航里面片段来代替,而由于该即时通讯无法回到抽屉导航活性(点击其他项目)作为listfragment打开作为单独的片段,这里是我的代码如何切换到抽屉导航菜单项上的列表视图点击
public boolean onNavigationItemSelected(MenuItem item) {
// Handle navigation view item clicks here.
int id = item.getItemId();
if (id == R.id.teams) {
Toast.makeText(this, "Teams clicked", Toast.LENGTH_SHORT).show();
ListFragment listfrag
=
(ListFragment)getSupportFragmentManager().findFragmentByTag("listfragment");
if(listfrag==null){
listfrag =new listFragment();
FragmentTransaction transact=getSupportFragmentManager().beginTransaction();
transact.add(android.R.id.content,listfrag,"lstfragment");
transact.commit();
}
和代码清单片段
public class listFragment extends ListFragment {
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup
container, Bundle savedInstanceState) {
ViewGroup rootview =
(ViewGroup) inflater.inflate(R.layout.customlistview, container, false);
//data source
String[] from = { "flag","txt","cur" };
ArrayAdapter<String> adapter=new
ArrayAdapter<String>(getActivity(),R.layout.listviewitem, R.id.tvteamsname, from);
setListAdapter(adapter);
// Retain the ListFragment instance across Activity re-creation
setRetainInstance(true);
return rootview;
}
只要打开你的navigationDrawer活动中的框架或容器的listFragment,这是你的navigationDrawer菜单怎么也可见于你,而你在ListFragment –
你能exaggrate多一点,我可以在哪里添加片段标签或什么? – blackHawk
下面我已经回答了你如何实现这个想法。现在你只需要添加一个框架给你的活动,然后你可以将任何片段替换为该框架,并且你的导航视图可以看到前面的片段 –