如何从片段中选择项目导航抽屉

时间:2016-03-04 16:29:00

标签: android android-fragments android-activity fragment navigation-drawer

点击片段中的按钮

时,我正尝试从导航栏中更改选择项目

我有一个MainActivity,它有一个带3个项目的导航抽屉..

当应用初始化时,第一项是 明显选择......

点击第二项时,第二项 显然被选中并开始片段..

这是我的代码......

 @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        int id = item.getItemId();

        if (id == R.id.nav_home) {
            FragmentExample fragment = new FragmentExample();
            android.support.v4.app.FragmentTransaction fragmentTransaction =
                    getSupportFragmentManager().beginTransaction();
            fragmentTransaction.replace(R.id.fragment_container, fragment);
            fragmentTransaction.commit();

片段有一个按钮,单击该按钮时应选择一个特定的项目..

单击片段中的按钮时,如何更改导航抽屉的选择项(位于MainActivity中)?

对不起我的英文.. =)

1 个答案:

答案 0 :(得分:0)

您应该在片段中定义一个接口,并让您的活动实现该接口。然后,当您想要触发操作时,可以调用接口方法。

public interface MyInterface {
    void doSometing();
}

public void onAttach(Activity activity) {
    super.onAttach(activity);
    if (activity instanceof MyInterface) {
        mCallback = (MyInterface) activity;
    } else {
        throw new ClassCastException(activity + " must implement MyInterface");
    }
}

@Override
public void onDetach() {
    mCallback = null;
    super.onDetach();
}

然后你只需致电

mCallback.doSometing();

致电您的活动。