添加后如何在 Android 中实现下拉导航操作栏?

2024-01-12

通过遵循本指南,http://wptrafficanalyzer.in/blog/adding-drop-down-navigation-to-action-bar-in-android/ http://wptrafficanalyzer.in/blog/adding-drop-down-navigation-to-action-bar-in-android/

我能够添加下拉导航栏。点击事件和一切功能。现在,我如何做到一旦选择一个选项,它就会导航到具有自己的布局和不同功能的不同屏幕。

任何帮助都会很棒,提前致谢!

编辑:这就是我所拥有的。我的应用程序运行了大约一毫秒,我可以看到一个“Hello World”,然后它崩溃了。顺便说一下,我正在使用《神探夏洛克》,如果这很重要的话。

package com.poe.statcalc;

import com.actionbarsherlock.app.SherlockActivity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.Toast;
import com.actionbarsherlock.app.ActionBar;
import com.actionbarsherlock.app.ActionBar.OnNavigationListener;

public class MainActivity extends SherlockActivity {

 /** An array of strings to populate dropdown list */
String[] actions = new String[] {
    "Bookmark",
    "Subscribe",
    "Share",
    "Something"

};

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    /** Create an array adapter to populate dropdownlist */
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(getBaseContext(), R.layout.sherlock_spinner_item, actions);

    /** Enabling dropdown list navigation for the action bar */
    getSupportActionBar().setNavigationMode(com.actionbarsherlock.app.ActionBar.NAVIGATION_MODE_LIST);

    /** Defining Navigation listener */
    ActionBar.OnNavigationListener navigationListener = new OnNavigationListener() {

        @Override
        public boolean onNavigationItemSelected(int itemPosition, long itemId) {
            switch(itemPosition) {
            case 0:
                Intent i = new Intent(MainActivity.this, SecondActivity.class);
                startActivity(i);
                break;
            case 1:
                //...
                break;
            }
            return false;
        }
    };

    /** Setting dropdown items and item navigation listener for the actionbar */
    getSupportActionBar().setListNavigationCallbacks(adapter, navigationListener);
    adapter.setDropDownViewResource(R.layout.sherlock_spinner_dropdown_item);

}

@Override
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) {
    getSupportMenuInflater().inflate(R.menu.activity_main, menu);
    return super.onCreateOptionsMenu(menu);
}

}


你需要操纵你的ArrayAdapter如果你想改变元素,但我不认为你可以使用ArrayAdapter<String>该多孔类。您可能需要使用字符串以外的其他东西。

为了处理点击,您需要更改onNavigationItemSelected功能:

@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId) {
    switch(itemPosition) {
    case 0:
        Intent i = new Intent(this, SecondActivity.class);
        startActivity(i);
        break;
    case 1:
        // ...
        break;
    }
    return false;
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

添加后如何在 Android 中实现下拉导航操作栏? 的相关文章

  • ProGuard SimException

    经过大约 4 个小时的随机尝试 我正在尝试让 ProGuard 正常工作 尝试让这个令人惊叹的软件正常工作 我的项目使用 LibGDX 和 KryoNet 这是我当前的 ProGuard 配置 verbose dontobfuscate d
  • Android API版本兼容性

    我希望我的应用程序能够在 Android 版本 2 1 和 2 2 上运行 在我的应用程序的一个区域中 有一个肖像式相机 生成肖像相机预览的过程在两个操作系统版本上是不同的 据我所知 具体方法如下 2 1 Camera Parameters
  • 使用react-native测量音频的响度

    我正在创建一个应用程序 Android 来使用本机反应录制手机中的语音 一项要求是实时测量声音的响度并基于它制作动画 我尝试使用react native audio库 但问题是响度监控仅在IOS中支持 我检查了世博会音频库 但找不到方法 有
  • 在 Android Studio 中设置 Http 代理

    我已经阅读了多个类似的问题和文档 但我无法解决我的机器所在的公司防火墙的问题 我收到的错误是 无法刷新 Gradle 项目 未知主机 services gradle org 我所阅读和理解的所有内容都让我相信这是一个 http 代理问题 我
  • 按下按钮时清除编辑文本焦点并隐藏键盘

    我正在制作一个带有编辑文本和按钮的应用程序 当我在 edittext 中输入内容然后单击按钮时 我希望键盘和焦点在 edittext 上消失 但我似乎无法做到这一点 我在 XML 中插入了这两行代码 android focusable tr
  • AlertDialog setButton 已弃用

    我在我的 Eclipse Android 项目中使用此代码 alertDialog setButton OK new DialogInterface OnClickListener Override public void onClick
  • 自定义 AlertDialog - android.R.id.custom 的问题

    我确信我错过了这里的重点 所以我希望有人能解释一下 我想在用户触摸时创建一个弹出窗口ImageView 我看了一下AlertDialog文档说 如果您想显示更复杂的视图 请查找名为 custom 的 FrameLayout 并将您的视图添加
  • Android SIP 客户端 SipManager.open() 未打开

    我一直在使用 Android SDK 的本机 SIP 库编写 SIP 客户端 由于某种原因 我无法让我的帐户在服务器上注册 以下是测试场地 Linux Mint 17 XFCE 运行 Kamailio 服务器 启用 MySQL 和 TLS
  • Android 4.3 的 Google 地图 Android API V2 问题

    我是谷歌地图的新手 刚刚点击此链接http www androidhive info 2013 08 android working with google maps v2 http www androidhive info 2013 08
  • 当您处于飞行模式并退出飞行模式时,我只收到最后一条 FCM 推送通知?

    我只在退出飞行模式后收到最后的推送通知 FCM 但是 如果我的应用程序位于前台 一旦我离开飞行模式 我将收到所有推送通知 我已将 FCM 消息类型实现为通知消息 笔记 无法将 FCM 消息类型实现为数据消息 因为 APNS 只接受我的 iO
  • 如何让 LibGDX gradled eclipse 项目在 AIDE(Android IDE 应用程序)上工作

    我正在尝试让 libgdx gradle 项目在 AIDE 上运行 AIDE 是 Android 上的一款应用程序 其作用类似于 IDE 它似乎不起作用 因为 buildconfig java 没有生成包名称 有人有任何解决方法吗 好的 我
  • 为什么某些手机会出现“此应用程序的配置不正确”错误?

    我已经在 android 6 中构建了我的应用程序 没有任何错误 但是当我在 android 4 4 2 中构建我的应用程序时 我收到此错误 This app has been built with an incorrect configu
  • 何时取消订阅

    我有一个关于如何取消订阅可观察的问题 我有两个代码 但我不确定哪一个更好 示例 1 gt 流结束后取消订阅订阅者 Subscriber
  • ChromeCast 无法播放 .m3u8 格式的 HLS

    应用程序中集成了 chromecast 一切正常 除了不播放 m3u8 格式的实时流媒体 url 而是播放 m3u8 格式的电影 url 我这样做是为了将 url 设置为 chromecast return new MediaInfo Bu
  • 如何检查 HoneyComb 或更高版本是否正在运行,并相应地调用该版本的方法?

    对于Android 3 0及更高版本 我想调用某个方法 有没有办法检查某个方法在运行的 Android 版本中是否可用 更准确地说 我的MinSDK是7 Android 2 1 TargetSDK是8 Android 2 2 我需要测试 如
  • 测试奖励广告未显示 - 广告加载失败:LoadAdError(代码:3,域:com.google.android.gms.ads,消息:无广告配置。)

    我目前无法展示测试奖励广告 我正在使用激励广告Sample ad unit ID中提供的doc https developers google com admob android test ads ca app pub 3940256099
  • 如果没有按钮,Espresso 不会记录任何意图

    我正在尝试编写一个测试来验证使用浓缩咖啡启动的意图 问题是有意的 不记录任何意图 我有这个测试 Test public void shoulddosomething startActivity intended hasComponent h
  • Android 2.2 中不带预览的相机捕获

    我需要捕获图像而不显示预览 我想在后台作为服务来完成它 可以这样做吗 是有可能实现的 您应该定义一个处理 Camera 对象的类 例如调用 Camera open 等 不要为相机对象提供以下行以禁用预览 mCamera setPreview
  • 如何将上下文从一个活动传递到另一个活动?

    我有一个主要活动 它调用另一个活动来显示一些数据 我有一个私有数据库帮助程序对象 我在整个主要活动代码中使用它 有没有办法以优雅的方式将我的主要活动的上下文传递给我的子活动 即 来自子类 类似getCallingActivityContex
  • 安卓框架?

    是否有任何框架比构建 Android 应用程序更容易 您会对其中一个感兴趣吗 很快就会有 我正在开发 DroidFu 一个 Android 共享库 它将为您提供 活动 和服务 中直接提供大量实用功能 例如生成列表和错误对话框 检查 Inte

随机推荐

  • 页面为空白,没有抛出任何错误

    我正在尝试在图块容器中显示几个图块 该容器从虚拟 JSON 文件中获取数据 我的编码完全显示在这个样本 https sapui5 hana ondemand com sample sap m sample TileContainer cod
  • 如何为自定义Python项目编写Dockerfile?

    我对 Docker 还很陌生 我需要创建容器来将 Docker 容器作为 Apache Mesos 任务运行 问题是我找不到任何相关的例子 它们都以 Web 开发为中心 但我的情况并非如此 我有一个带有大量依赖项的纯Python项目 例如B
  • Xpath 和根据祖先的元素值有条件地选择后代

    我希望有人能帮助我解决这个问题 我对 XML 解析相当陌生 因此 XML 解析到目前为止我只处理过相当简单的解析 我目前遇到以下问题 我有具有以下结构的 XML
  • 用于使用自定义域直接访问 bluemix 应用程序

    我想使用自定义域通过注册自己的域直接访问我的bluemix 应用程序 所以 godaddy 需要 bluemix 的名称服务器所以我怎样才能找到它或者你知道吗 另一种方式是通过注册域名直接访问 以下是您可以将应用程序路由到网页的另一种方法
  • 如何使用Java连接wifi设备? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 如何在Java中在wifi范围内的设备之间建立连接 要通过网络 WiFi 电缆等 在两个设备之间建立连接 您需要编写 2 个软件 1
  • 如何在iOS中使用bzip2格式? Apple 告诉我 bzBuffToBuffDecompress 是私有 API

    今天我向应用商店提交了我的iOS应用程序 但很快我收到了苹果公司的一封邮件 上面写着 无法发布到 App Store 因为它使用的是私人或 未记录的 API Private Symbol References BZ2 bzBuffToBuf
  • 声纳数据库有多大?

    这可能看起来像一个愚蠢的问题 事实上 这更像是一项民意调查 您的声纳数据库有多大 我需要它来估计托管我的 Sonar 实例的虚拟机的要求 Also 你的团队有多大 每次新提交在 Sonar 数据库中使用了多少额外字节 我将不胜感激任何帮助
  • 检索按值排序的映射中条目周围固定数量的条目

    POJO 即 入口 java 代表排行榜中的一个条目 Position是排行榜中的位置 1是得分最高的用户 public class Entry private String uid private int score private in
  • 将 Firefox 切换为使用与 windows.host 文件中不同的 DNS

    例如 我在不同的服务器上有一个开发站点 但我正在尝试从实时站点复制内容 因此将实时站点放在 IE 中而将开发站点放在 FF 中会很方便 我尝试了 FoxyProxy 但似乎无法让它工作 我用它来用 localserver 覆盖系统的 DNS
  • Hibernate的batch_size最佳值

    谁能建议我如何选择最有价值的hibernate jdbc batch size 如果内存和CPU没有问题 可以使用500这样的值 EDIT In 本章 http docs jboss org hibernate orm 4 0 devgui
  • 根据具有特定顺序的向量对数据框行进行排序

    有没有一种更简单的方法来确保数据帧的行根据 目标 向量进行排序 就像我在下面的简短示例中实现的那样 df lt data frame name letters 1 4 value c rep TRUE 2 rep FALSE 2 df na
  • 带有 AbstractClass 通知程序的 MultiProvider

    我正在尝试为 Google 和 Facebook 登录创建一个单一界面 我的SignInProvider好像 abstract class SignInProvider with ChangeNotifier bool get isSign
  • 没有名为 future 的模块

    我正在 python 中运行一个电报机器人 并且在 raspbian pi3 上使用 python3 6 以下是我的进口 from future import absolute import division print function
  • 用边框半径隐藏的溢出在图像上显示奇怪的灰色边框

    我有一个圆形 div 它包含一个图像和另外两个 div 问题是该 div 周围显示灰色边框 所有浏览器 chrome 和 firefox 均存在此问题 我尝试过添加浏览器 css vendor prefixes 掩码 但没有结果 我不能使用
  • 我应该如何“取消”ConcurrentDictionary 中的 AddOrUpdate?

    我已阅读 MSDN 文档并这个博客 http blogs msdn com b pfxteam archive 2010 01 08 9945809 aspx我需要以下逻辑 For a ConcurrentDictionary
  • Optaplanner 中可空的链式规划变量

    因此 我正在研究对过度约束的路由问题进行建模 其中并非所有任务都必须在该特定规划问题中进行 相反 目标是最大化该规划问题中的任务 我想这应该很容易通过允许计划变量可为空来实现 但似乎 Optaplanner不允许在链式计划变量上执行此操作
  • 在矩形内绘制线宽 matplotlib

    我在使用 Patches 在 matplotlib 中绘制矩形时遇到问题 什么时候linewidth提供给patches Rectangle 边框绘制在矩形的外部 这是一个例子 import matplotlib pyplot as plt
  • 使用单个 SQL 查询构建层次结构树

    我有一个SQL表具有以下结构 id int par int relational to id name varchar Column par包含对id or NULL如果没有参考 此表旨在构建一个层次树 然后 给定数据 id par nam
  • 如何将 TextView 添加到 GridView 布局中的 ImageView 中?

    我需要一个 GridView 但在每个网格中 其上方 内部都会有一个 ImageView 和 TextView 它就像每个网格中的项目图像 以及图像上的项目名称 我正在尝试 public View getView int position
  • 添加后如何在 Android 中实现下拉导航操作栏?

    通过遵循本指南 http wptrafficanalyzer in blog adding drop down navigation to action bar in android http wptrafficanalyzer in bl