Android 中的导航抽屉和 Activity

2024-04-26

我正在尝试中给出的导航抽屉(幻灯片菜单)本教程。 http://www.androidhive.info/2013/11/android-sliding-menu-using-navigation-drawer/

上面的链接和我的链接的区别在于,我不是调用片段,而是尝试调用活动。当应用程序打开时,我看不到导航抽屉菜单,我只能看到打开了 HOME 活动的操作栏。

这是我更改的代码:(是否需要有一个片段,或者我可以在导航抽屉中的第一个屏幕上使用活动吗?)

    mTitle = mDrawerTitle = getTitle();

    navMenuTitles = getResources().getStringArray(R.array.nav_drawer_items);
    navMenuIcons = getResources().obtainTypedArray(R.array.nav_drawer_icons);
    mDrawerLayout = (DrawerLayout) findViewById(R.id.drawer_layout);
    mDrawerList = (ListView) findViewById(R.id.left_drawer);    

    navDrawerItems = new ArrayList<NavDrawerItem>();

    navDrawerItems.add(new NavDrawerItem(navMenuTitles[0], navMenuIcons.getResourceId(1, -1)));
    navDrawerItems.add(new NavDrawerItem(navMenuTitles[1], navMenuIcons.getResourceId(2, -1),true, "200"));

    navMenuIcons.recycle();

    mDrawerList.setOnItemClickListener(new SlideMenuClickListener());

    adapter = new NavDrawerListAdapter(getApplicationContext(), navDrawerItems);
    mDrawerList.setAdapter(adapter);

    getActionBar().setDisplayHomeAsUpEnabled(true);
    getActionBar().setHomeButtonEnabled(true);

    mDrawerToggle = new ActionBarDrawerToggle(this, mDrawerLayout,
            R.drawable.drawer,
            R.string.drawer_open,
            R.string.drawer_close
            ) 
    {
        public void onDrawerClosed(View view) 
        {
            getActionBar().setTitle(mTitle);
            invalidateOptionsMenu();
        }

        public void onDrawerOpened(View drawerView) 
        {
            getActionBar().setTitle(mDrawerTitle);
            invalidateOptionsMenu();
        }
    };
    mDrawerLayout.setDrawerListener(mDrawerToggle);

    if (savedInstanceState == null) 
    {
        displayView(0);
    }
}

private class SlideMenuClickListener implements
ListView.OnItemClickListener
{
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int position, long id) 
    {
        displayView(position);
    }
}
private void displayView(int position) 
{
    switch (position) 
    {
    case 0:
        //fragment = new HomeFragment();        

        Intent intent = new Intent(this, Home.class);
        startActivity(intent);

        return;

    case 1:
        //fragment = new FindPeopleFragment();

        Intent intent1 = new Intent(this, Profile.class);
        startActivity(intent1);
        break;

    case 2:
        //fragment = new PhotosFragment();

        Intent intent2 = new Intent(this, Details.class);
        startActivity(intent2);
        break;

    default:
        break;
    }

    mDrawerList.setItemChecked(position, true);
    mDrawerList.setSelection(position);
    setTitle(navMenuTitles[position]);
    mDrawerLayout.closeDrawer(mDrawerList);
}

如何修复此问题以在我的家庭活动中显示导航抽屉?

Update:

我什至尝试了此链接中给出的以下选项:

如何使用导航抽屉调用我的一项活动? https://stackoverflow.com/questions/24456940/how-can-i-call-one-of-my-activity-using-navigation-drawer?rq=1但我仍然没有得到导航幻灯片菜单。


你不能那样做... 导航抽屉是活动的布局,您无法在另一个活动中显示活动,您需要为此使用片段!

Activity 是一个屏幕,您不能在另一个屏幕内显示一个屏幕,但 Fragment 可能是屏幕的一个组件,您可以在 Activity 的容器内膨胀 Fragment,然后显示给用户。

如果您不想这样做,您可以创建一个抽象活动并继承,但是片段中不会有一个活动,您将拥有多个活动,每个活动都有自己的导航抽屉。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Android 中的导航抽屉和 Activity 的相关文章

  • 如何在GreenDao中实现表继承

    我一直在尝试创建一个数据库 其中所有表都继承某个元素 以便有可能拥有元数据 我在模型生成器的所有表声明中添加了这一行 public Entity addSuperEntity Schema schema Entity superEntity
  • 使用 PHP / Javascript 检测应用内浏览器 (WebView)

    我开发了一个适用于 iOS 和 Android 的应用程序 它使用应用程序内浏览器 Webview 从我的网络服务器访问 HTML 文件 我不希望用户可以在不使用该应用程序的情况下访问此文件 是否有可能检测用户是否使用应用程序或直接通过此智
  • 为 customere xml 按钮着色时遇到问题

    我在为自定义按钮着色时遇到问题 由于某种原因 似乎无论我想应用什么颜色更改 文本或背景 按钮都保持不变 我注意到button xml具有所需的颜色和正确的形状 尽管没有出现按钮background color活动的财产 活动中的按钮
  • CursorAdapter 破坏了 CHOICE_MODE_MULTIPLE 选项

    我有一个ListFragment 我在其中添加一个CursorAdapter to my ListView 并且我希望能够单击几行以使用上下文操作栏 我使用 SherlockActionbar 当我使用一个简单的ArrayAdapter 但
  • 如何从 BroadcastReceiver 刷新 ListView?

    如果我打电话notifyDataSetChanged 在与我的 ListView 关联的自定义适配器上 所有视图都应该自行刷新 getView 将被调用 现在我有一个正在监听事件的 BroadcastReceiver 当事件触发时 List
  • 如何在android中对Log.e进行单元测试?

    我需要执行单元测试 在应用程序中发生特定情况时 我需要检查是否记录错误消息 try do something catch ClassCastException IndexOutOfBoundsException e Log e INFOTA
  • 调用“DisplayManagerGlobal.getDisplayInfo()”会导致应用程序中的应用程序无响应 (ANR)

    显然 应用程序中的某些内容从不同线程 主线程和绑定器线程 调用该方法 这会导致内部 ANR 它经常发生 我不知道它发生在哪里 因为我无法在模拟器或我拥有的测试设备上重现它 该应用程序的作用 它是一个应用程序储物柜应用程序 它在应用程序覆盖层
  • 何时使用支持库

    我对 Android 支持库的用途和何时需要它感到困惑 据我了解 使用支持库的主要优点是 Android 可以在旧版本中自行实现主题和 UI 功能 而无需开发人员显式定义它们 这些关键的 UI 功能之一是操作栏 它是为 Honeycomb
  • 模拟器的窗口比手机屏幕太大

    我做了一个小例子来测试我的Android环境 当我在AVD上启动执行时 它看起来太大了 就好像它是平板电脑屏幕一样 如何调整大小使其看起来像手机屏幕 Android Studio 2 2更新后就没有了Emulator Tab in Edit
  • Android 应用程序 Azure 依赖项 gradle 构建时出错

    我在 Android Studio 2 3 3 的 Gradle 同步中收到以下错误 错误 模块 com microsoft azure azure mobile android 3 3 0 依赖于一个或多个 Android 库 但它是一个
  • Glide:如何使用 Glide v4 调整 gif 大小并将其另存为文件?

    我想调整 gif 文件的大小并保存它 我尝试使用一些建议的方法 但这些方法给出了错误 后来我知道有些方法在 Glide 中已被弃用v4 byte bytes Glide with context asGif load url toBytes
  • DrawerLayout 第一次打开有点步骤

    我有一个 DrawerLayout 当我第一次滑动它时 它是逐步出现的 比如滞后或类似的东西 但之后它移动得很好 我不知道要发布什么代码 因为正如我所说 它工作正常 只是第一次打开它时 它打开不顺利 这是我的布局
  • 使用 GestureDetector 时出现 NullPointerException

    下面是在发生不同事件时加载两个不同图像的帧动画的代码 第一个事件是在活动开始时 其他的是onTouch 我在哪里利用GestureDetector为了onDown and onScroll 问题是我得到NullPointerExceptio
  • PreferenceActivity 如何使用自定义首选项文件

    我第一次尝试偏好是在不了解PreferenceActivity 所以现在我有一个应用程序将所有用户首选项存储在特定的首选项文件中 我想迁移到使用 PreferenceActivity 但我也希望我的用户保留他们的偏好 有没有办法告诉我的 P
  • 更改单击后退按钮上的 BottomNavigationView 图标

    在我的布局的底部有一个底部导航视图与三个片段 如果我单击后退按钮 片段将切换 但底部图标不会切换 我该如何修复它 addToBackStack 有效 也许您有一些关于美化代码的建议 在活动或片段中添加片段标签是一个好的做法吗 public
  • 应用程序被终止时无法处理 FCM 消息

    我一直在阅读各种教程 其他 SO 线程以及官方 Android 开发人员和 Firebase 文档 但无济于事 我已经尝试了几乎所有的方法 但我已经耗尽了精力和时间 因为我正在修复以前可以工作但现在不再工作的通知系统 我正在使用 Azure
  • 如何检查Android应用程序是否第一次打开

    我想在用户第一次打开应用程序时有一个弹出窗口 如何查看 获取应用程序被打开的次数 请帮忙 多谢 当您的应用程序启动时 在onCreate 方法 您可以检查 SharedPreference 是否存在 如果没有 则这是该应用程序第一次启动 然
  • Android - 使用 HttpURLConnection 来 POST XML 数据

    我遇到了一些死胡同 需要一些帮助 请 我对 Android 开发 以及一般编码 非常陌生 基本上我需要使用 HttpURLConnection 将 XML 数据发布到 URL 但无法让它工作 我的应用程序从 GET 请求读取并传递 XML
  • 获取 Search.List 中的 ViewCount - Youtube 数据 API v3

    最近 我与youtube API v3 for Android I use 搜索列表 https developers google com youtube v3 docs search list当我想从关键字检 索视频列表时 我可以从结果
  • Android 多用户支持(4.2 中的新功能)对服务器端数据模型(例如 android_id)的影响

    Google 刚刚发布了 Android 4 2 其中支持单个设备上的多个用户配置文件 http developer android com about versions android 4 2 html MultipleUsers htt

随机推荐

  • Tab 键在 Visual Studio 代码中不起作用

    Tab 键在 Visual Studio 代码中无法用于缩写 我已经尝试了很多 我该如何解决这个问题 我很沮丧 考虑使用 Bracket 而不是 Visual Studio 代码 In my case Using Ctrl M return
  • 过滤 dataGridView 时“未将对象引用设置为对象的实例”

    我有这个搜索功能 为了标记来自MySQL数据库的与关键字列表匹配的评论 标记的评论将显示在dataGridView flaggedComments 然后填充comboBox stockIndex以及相关的股价代码 例如 BARC LLOY
  • javascript 唯一的随机数

    experts 我希望在两个数字之间生成唯一的随机数 来自网页的文本框 我正在使用数组来存储数字 当用户单击按钮时 它给出第一个随机数 将其存储在数组中 当用户再次单击按钮时 它生成随机数 将其与数组数字进行比较 如果不同 则存储并显示 如
  • 为什么 Google 日历全天活动使用 php 返回今天的开始日期

    我正在使用 Google 日历 api V3 和 PHP 并尝试获取活动的摘要 描述和开始日期 我的问题是最后一个元素 开始日期 当日历中的事件设置为 全天 事件时 以下代码的响应将提供今天的日期以及进行查询时的确切时间 echo div
  • 您可以通过选项卡浏览所有单选按钮吗?

    我有一个单选按钮列表 当我通过选项卡浏览它们时 似乎只有第一个单选按钮或选定的单选按钮将获得焦点 其余单选按钮将被跳过 checkbox没有这个问题 http jsfiddle net 2Bd32 http jsfiddle net 2Bd
  • 服务器和客户端上带有 Handlebars.js 的 Node.js

    我在 Node js 中有一个应用程序 使用 Expressjs 和 Handlebars 作为模板引擎 Expressjs 使用布局 然后渲染视图 布局 layout hbs 如下所示 body The body 当您访问路由时 在 No
  • 路由的登录和身份验证(反应或服务器端)

    我正在尝试保护反应页面上的表单路由 我在服务器端注册并登录 对于如何对该路由使用身份验证有点困惑 这是我的 app js 我的客户端路由 const App gt return
  • 删除图像中小于 n 大小(噪声)的像素 - open CV python

    我正在尝试减少图像中的噪音 目前正在运行此代码 import numpy as np import argparse import cv2 from skimage import morphology Construct the argum
  • 如何在 Live() 上绑定滚动事件?

    不久前我为某人解决了一个问题希望他的文本区域变大 https stackoverflow com questions 4717635 jquery building an autoresizing textarea that doesnt
  • 如何用Java实现Kerberos协议转换? (S4U2自我)

    Edit 现在我知道我需要什么了 我需要在Java中实现Kerberos协议转换 S4U2Self Net 中有示例 但没有 Java 的示例 有这个第三方库Java 版 Quest 单点登录 http www quest com sing
  • 对 null/空值使用 bool.Parse 时出错

    我有一个使用管道运算符的表达式 该表达式将值转换为字符串 然后转换为布尔值 但有时原始值可能为空 当值为 null 时 如何使用模式匹配或其他方式假设 false type kv Dictionary
  • 如何切换 UITableView Cell 的选定状态

    我有一个带有自定义单元格的 UITableView 该单元格包含一个 UIImageView 和一个 UILabel 现在 当我第一次加载表格时 它会在每个单元格上加载相同的图像和不同的标签 这些标签是从 LabelArray 中获取的 现
  • 如何在c中创建信号量?

    我正在尝试重新创建一个 黑盒 库 在我的计算机科学课程中 当我们应该使用信号量时 在我们的纸质期末考试中 我们会得到一个 sem h 文件 有 3 个函数 一个用于创建具有初始数量令牌的新信号量 一个用于从信号量中取出令牌 一个用于将令牌放
  • Bootstrap 模态和传递值

    当我单击编辑时 id 应该传递到自己的页面 并且模式应该弹出 但这不起作用 请帮我 PHP 和 Bootstrap tr td td td a href gt Edit a td tr Modal div class modal fade
  • 使用 iTextSharp 和 PDFStamper 在 PDF 中使用不同的字体

    我正在使用 iTextSharp 加载现有 PDF 并使用 PdfStamper 添加文本 我想要完全控制文本 这意味着我想要能够控制字体 仅限 TrueType 字体大小和坐标 现在 我使用 ShowTextAligned 将文本添加到某
  • 根据文档,Django 1.8spectdb 命令看不到 PostgreSQL 视图

    我有一个带有 PostgreSQL 数据库的 Django 1 8 应用程序 我从命令行运行 django inspectdb 来检查模型的视图 但视图不会显示在模型输出中 这是版本输出 17 36 python well manage p
  • NSPredicate:获取每种类型之一

    我想创建一个NSFetchRequest对于这样的对象 The Object is Car其中有一个attribute color 我有四辆车 car1 color red car2 color red car3 color blue ca
  • 将数字格式设置为缩写数字

    我有一个数据库 其中有一列包含数字格式的值 例如 5 000 for 5k 86 600 for 86 6k 4 100 000 for 4 1m 在浏览器中显示时 它应该显示为 5000 的 5k 86 600 的 86 6k 等 我需要
  • 来自 URL 的 YouTube 视频 ID - Swift3

    基本上我有一个 Youtube URL 作为字符串 我想从该 URL 中提取视频 ID 我在 Objective C 中找到了一些代码 如下所示 NSError error NULL NSRegularExpression regex NS
  • Android 中的导航抽屉和 Activity

    我正在尝试中给出的导航抽屉 幻灯片菜单 本教程 http www androidhive info 2013 11 android sliding menu using navigation drawer 上面的链接和我的链接的区别在于 我