【问题标题】:How to select item navigation drawer from fragment如何从片段中选择项目导航抽屉
【发布时间】:2016-03-04 16:28:59
【问题描述】:

单击片段中的按钮时,我试图从导航抽屉中更改选择项

我有一个 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 中)?

对不起我的英语.. =)

【问题讨论】:

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


    【解决方案1】:

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

    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();
    

    调用您的活动。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-14
    • 1970-01-01
    相关资源
    最近更新 更多