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 的相关文章

  • Twitter 登录说明

    我想在 Android 中创建一个 Twitter 应用程序 为此 我想创建一个登录页面并登录到 Twitter 为此 我们需要消费者密钥和消费者密钥 这是什么意思 要创建此登录页面 除了 Twitter 帐户之外 我们还需要其他任何东西吗
  • 在android中通过BLE传输图像

    我使用以下代码传输 1 MB 的图像 如果在每个数据包之间实现线程延迟 则图像将成功传输 如果未设置线程延迟 则所有数据包均从BluetoothGattServer 发送 但BluetoothGattCallback 不会接收所有数据包 任
  • 自定义选择器活动:SecurityException UID n 无权 content:// uri

    我正在构建一个选择器应用程序来替换本机 Android 共享对话框 它工作正常 除非我尝试通过长按图像 gt 共享图像从 Chrome 共享图像 我发现 Google 没有捕获异常 它崩溃了 所以我可以通过 Logcat 查看它 在 Goo
  • 带有一、二和三个按钮的 Android 警报对话框

    我不经常发出警报 但每次发出警报时 我都会花一些时间来阅读文档 https developer android com guide topics ui dialogs html并弄清楚如何去做 由于我现在不得不这样做几次 所以我将在下面写一
  • Service 和 IntentService,运行从服务器轮询数据库值的服务哪个更好?

    我读过很多关于Service and IntentService 然而 当做出决定时 我没有足够的信心选择使用哪种类型来创建一个后台服务 该服务将在一定时间间隔内从数据库轮询数据 并在获得所需数据时停止它 因为数据代表请求的状态 例如 订购
  • ffmpeg视频已压缩但无法在浏览器中播放

    我已经集成了ffmpeg4android lib 视频压缩工作正常 但视频无法在除 safari 浏览器之外的浏览器中播放 上传到服务器后 我使用了以下命令 ffmpeg y i
  • 调试:在 Android 1.0 中找不到文件

    今天我更新到 Android Studio v 1 0 在尝试编译任何项目时出现以下错误 app build intermediates classes debug 找不到文件 问题是在更新之前我没有任何问题 这是我实际尝试编译的代码 构建
  • 如何为发布而不是调试创建密钥库?扑

    我按照使用此网站部署 flutter 的步骤进行操作https flutter io android release https flutter io android release 当我运行 flutter build apk 时出现此错
  • Android onChange 事件未在 android 5 (Lollipop) 上的 chrome 历史记录的 contentObserver 中触发

    我注意到我的 chrome 历史记录和书签的 contentObservers 在 android lolipop 上不再触发 该代码在旧版本的 android 上完美运行 无论 chrome 版本如何 但在 Lollipop 上它不再运行
  • 放置在 NavigationDrawer 顶部的片段

    我正在尝试添加一个PreferenceFragment在我的应用程序中 问题是 它自动放置在我的顶部NavigationDrawer public class SetPreferenceActivity extends Activity O
  • 使用 gradlew assembleRelease 从 React Native 创建发布 apk 时出现错误

    我想发布 apk 但我收到错误 文件已存在 mkdir D mobile 它在 d 驱动器中生成名为 mobile 的文件 删除文件后 再次执行 gradlew assembleRelease 创建该文件并抛出错误 任务 app bundl
  • 如何检查用户在EditText中输入自己的电话号码?

    用户将在我的 Android 应用程序的注册页面上的编辑文本中输入手机号码 如何检查用户输入的是他 她的手机号码而不是其他人的 我试过这个 TelephonyManager tMgr TelephonyManager mAppContext
  • 如何在 Android 模块中使用 FirebaseAuth

    我正在开发一个聊天库 我想在其中显示登录用户的对话 制作该库的原因是我想将其集成到多个项目中 我现在面临的问题是FirebaseAuth表示用户尚未登录 FirebaseAuth getInstance mFirebaseApp getCu
  • 菜单在片段的 onCreateOptionsMenu 处多次膨胀调用

    我使用 Fragments 当我切换到嵌套 Fragment 时 它实现了public void onCreateOptionsMenu Menu menu MenuInflater inflater 当我到达该嵌套片段时 我的菜单会多次膨
  • 使用 SQLITE 按最近的纬度和经度坐标排序

    我必须获得一个 SQLite SQL 语句 以便在给定初始位置的情况下按最近的纬度和经度坐标进行排序 这是我在 sqlite 数据库中的表的例句 SELECT id name lat lng FROM items EXAMPLE RESUL
  • 如何修改 Skobbler 注释而不重新添加它

    我必须修改 SKAnnotation 的图像 注释生成器代码 private SKAnnotation getAnnotationFromView int id int minZoomLvl View view SKAnnotation a
  • 按钮 - 单击时更改背景颜色

    我的活动中有 8 个按钮 我正在寻找的是 按钮具有默认背景 单击按钮时 背景颜色应更改为其他颜色 这部分非常简单 但是 当我单击任何其他按钮时 第一个按钮的背景颜色应该变回默认颜色 我知道这将使用 选择器状态 来完成 但我不太确定如何实现它
  • 如何在android asynctask中使用inputstream作为参数?

    我正在制作一个 Android 应用程序来跟踪股票详细信息 我将通过 csv 雅虎财经 检索数据 据我所知 在android 4 0中 网络连接无法在主线程上完成 因此 我将使用 asynctask 来建立连接 但是 我在参数方面遇到了一些
  • Android 中循环事件的星期几和时间选择器

    我想创建一个控件 允许用户在我的 Android 活动中选择一周中的某一天 星期一 和一天中的某个时间 下午 1 00 找不到任何关于此的好帖子 好吧 我想我已经明白了 我只是不喜欢这个解决方案 因为我在一周中的某一天使用的微调器与时间选择
  • 尝试将 SQLite DB 从数据复制到 SD 卡

    我正在使用以下代码 该代码发布在 Stack Overflow 上的某个位置 并根据我的目的进行了修改 try File sd Environment getExternalStorageDirectory File data Enviro

随机推荐

  • 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 上面的链接和我的链接的区别在于 我