android - 选择项目后如何关闭抽屉导航?

标签 android android-fragments navigation-drawer

我已经实现了一个抽屉导航并且一切正常。抽屉导航包含一个 ListView ,当一个项目被选中时,主要 fragment 被正确替换。

这是 onClickListener 代码:

mDrawerListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        HeaderViewListAdapter headerView = (HeaderViewListAdapter) parent.getAdapter();
        AccountAdapter adapter = (AccountAdapter) headerView.getWrappedAdapter();
        Cursor cursor = adapter.getCursor();

        if(cursor != null && cursor.moveToPosition(position)){
            ((NavigationDrawerCallbacks) getActivity()).onNavigationDrawerItemSelected(cursor.getLong(cursor.getColumnIndex(ID_COLUMN)));
        }
    }
});

在我的 Activity 中,onNavigationDrawerItemSelected 方法是这样的:

@Override
public void onNavigationDrawerItemSelected(long accountId) {
    // update the main content by replacing fragments
    FragmentManager fragmentManager = getSupportFragmentManager();
    fragmentManager.beginTransaction()
            .replace(R.id.mainFragment, AccountDetailFragment.newInstance(accountId))
            .commit();
}

如我所说,此功能有效,但抽屉导航保持打开状态。用户必须从 ListView 中选择一个帐户,然后必须关闭抽屉才能看到主要 fragment ,这对用户来说很麻烦,所以我怎样才能让它自动关闭,这样当一个项目被选中时,唯一可见的元素就是主要 fragment (以及其中的所有内容)?

最佳答案

使用 Drawer View 或 Drawer 的 GravityDrawerLayout 对象上调用 closeDrawer() 作为一个论点。

关于android - 选择项目后如何关闭抽屉导航?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27595990/

相关文章:

android - 如何将警报对话框按钮对齐到左侧?

java - 是否可以将项目拖到 RecyclerView 之外?

android - DrawerLayout.DrawerListener - 检测重力右/左

android - 后退按钮在 actionBar 中不起作用

java - 导航栏可扩展 ListView android

ios - 我如何在中央 Controller 上显示一个具有透明度的抽屉导航?

java - 计算不完美的圆

android - 屏幕锁定和解锁后 Canvas 绘制功能不起作用

android - 一旦应用程序运行并出现错误 ClassNotFoundException : Didn't find class application on path: DexPathList,应用程序立即崩溃

android - 当在另一个 RecyclerView(外部)中使用时,何时从内部 RecyclerView 中清除监听器