java在片段页面中调用活动接口方法onDrawerItemSelected(视图、位置)
我需要在片段页面中调用活动接口方法onDrawerItemSelected(view,position)。有可能吗。任何人都可以帮我。这样我就可以在片段页面中定制抽屉了
主要活动。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;
}
}
自定义片段。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);
}
});
在单击菜单时,我需要在片段页面中调用活动接口方法onDrawerItemSelected(view,position)
# 1 楼答案
您需要重写片段中的
onDrawerItemSelected(View view, int position)
方法,并在活动中调用它:因此,您需要将活动作为
FragmentDrawer.FragmentDrawerListener
传递给片段(例如,通过适当的setter)