2016-04-07 14 views
1

フラグメントページでアクティビティインタフェースメソッドonDrawerItemSelected(view、position)を呼び出す必要があります。これは可能です。誰も私を助けることができますフラグメントページでカスタム引き出しを行います。フラグメントページのアクティビティインタフェースメソッドonDrawerItemSelected(view、position)を呼び出してください。

MainActivity.java:

public class MainActivity extends AppCompatActivity implements FragmentDrawer.FragmentDrawerListener { 

@Override 
    public void onDrawerItemSelected(View view, int position) { 
     displayView(position); 
    } 

    private void displayView(int position) { 
     Fragment fragment = null; 
     String title = getString(R.string.app_name); 
     switch (position) { 
      case 0: 
       fragment = new UserProfileFragment(); 
       title = getString(R.string.title_discovery); 
       break; 
      case 1: 
       fragment = new SettingsActivity(); 
       title = getString(R.string.title_messages); 
       break; 
      case 2: 
       fragment = new InboxRequestActivity(); 
       title = getString(R.string.title_discovery); 
       break; 
      case 3: 

       break; 
      default: 
       break; 
     } 

} 

CustomFragment.java:

public class CustomFragment extends Fragment implements FragmentDrawer.FragmentDrawerListener 


    menu_btn_click.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 


       mDrawerLayout.openDrawer(GravityCompat.START); 





      } 
     }); 

menu_btn_clickをクリックすることで、Iはで(ビュー位置)onDrawerItemSelected活動インターフェースメソッドを呼び出す必要がフラグメントページ。

答えて

0

あなたのフラグメントでonDrawerItemSelected(View view, int position)メソッドをオーバーライドして、あなたの活動にそれを呼び出す必要があります。

@Override 
public void onDrawerItemSelected(View view, int position) { 
    listener.onDrawerItemSelected(view, position); 
} 

そのため、あなたは(例えばappropiateセッターで)フラグメントにFragmentDrawer.FragmentDrawerListenerとしての活性を渡す必要があります。

setListener(FragmentDrawer.FragmentDrawerListener listener){ 
    this.listener = listener; 
} 
関連する問題