2016-02-25 52 views
4

我創建具有草案抽屜式導航和發送顯示佈局,我設置了SentFragment和DraftFragment在我的MainActivity像下面的代碼,但它並沒有意圖或演出佈局?我沒有任何錯誤。發生了什麼?爲什麼片段並不在我的抽屜式導航

DraftFragment

package com.test.mypc.androidtestme; 
import android.os.Bundle; 
import android.support.annotation.Nullable; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 


public class DraftFragment extends Fragment { 

    @Nullable 
    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { 
     View view=inflater.inflate(R.layout.drafts_layout, container,false); 
     return view; 
    } 
} 

SentFragment

package com.test.mypc.androidtestme; 
import android.os.Bundle; 
import android.support.v4.app.Fragment; 
import android.view.LayoutInflater; 
import android.view.View; 
import android.view.ViewGroup; 


public class SentFragment extends Fragment { 


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

    } 
} 

MainActivity

mFragmentManager = getSupportFragmentManager(); 
     mFragmentTransaction = mFragmentManager.beginTransaction(); 
     mFragmentTransaction.replace(R.id.containerView, new SentFragment()).commit(); 


     mNavigationView.setNavigationItemSelectedListener(new NavigationView.OnNavigationItemSelectedListener() { 
      @Override 
      public boolean onNavigationItemSelected(MenuItem menuItem) { 
       mDrawerLayout.closeDrawers(); 

       if (menuItem.getItemId() == R.id.nav_item_sent) { 

        FragmentTransaction fragmentTransaction = mFragmentManager.beginTransaction(); 
        fragmentTransaction.replace(R.id.containerView, new SentFragment()).commit(); 

       } 
       if (menuItem.getItemId() == R.id.nav_item_draft) { 
        FragmentTransaction ft_drafts = mFragmentManager.beginTransaction(); 
        ft_drafts.replace(R.id.containerView, new DraftFragment()).commit(); 
       } 
       return false; 
      } 

     }); 

     android.support.v7.widget.Toolbar toolbar = (android.support.v7.widget.Toolbar) findViewById(R.id.toolbar); 
     ActionBarDrawerToggle mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout, toolbar, R.string.app_name, 
       R.string.app_name); 
     mDrawerLayout.setDrawerListener(mDrawerToggle); 
     mDrawerToggle.syncState(); 

回答

1

使用此代碼在您的MainActivity: -

public boolean onNavigationItemSelected(MenuItem item) { 
    // Handle navigation view item clicks here. 
    fragment = null; 
    int id = item.getItemId(); 
    String get_title = item.getTitle().toString(); 

    if (id == R.id.nav_item_sent) { 

     fragment = new SentFragment(); 

    } else if (id == R.id.nav_item_draft) { 
     fragment = new DraftFragment(); 

    } 

    if (fragment != null) { 
     FragmentTransaction ft = getSupportFragmentManager().beginTransaction(); 
     ft.replace(R.id.content_frame, fragment); 
     ft.commit(); 
    } 

    title_tv.setText(get_title); 
    DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); 
    drawer.closeDrawer(GravityCompat.START); 
    return true; 
} 
+0

@Fita主啊,如果你覺得這是非常有用的,然後選擇答案,以便其他可以從此得到受益..感謝 – Laxmeena

+0

感謝評論@Laxmeena但沒有任何事情發生,即使沒有錯誤。 ahmm –

+0

@FitaLord,只需創建一個新的Navigtion Drawer應用程序示例,並嘗試根據需要修改該應用程序。 – Laxmeena