0

이 항목을 클릭 할 때 listview를 열고 싶습니다. 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; 

} 
+0

이 코드를 대체, 이것은 당신이 ListFragment –

+0

당신이 exaggrate 수 동안 navigationDrawer 메뉴는 당신도 볼 수 있습니다 방법입니다 좀 더, 조각 태그를 추가 할 수 있습니까? 아래 – blackHawk

+0

나는 이것을 구현할 수있는 아이디어에 대한 대답을했습니다. 이제 액티비티 프레임을 액티비티에 추가하면 모든 프레임을 해당 프레임으로 대체 할 수 있으며 탐색 뷰는 이전 프레임을 볼 수 있습니다 –

답변

0

먼저 에 navigationDrawerMenu을 추가 한 프레임을 추가하십시오.

FragmentTransaction transact=getSupportFragmentManager().beginTransaction(); 
transact.add(android.R.id.content,listfrag,"lstfragment"); 
transact.commit(); 

단순히 navigationDrawer 활동 내부 프레임이나 컨테이너에 listFragment을 열

FragmentTransaction transact=getSupportFragmentManager().beginTransaction(); 
transact.replace(R.id.your_frame, listfrag); 
transact.addToBackStack(null); // or you can add some string 
transact.commit();