添加后如何在 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 中实现下拉导航操作栏? 的相关文章

随机推荐

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

    我正在尝试在图块容器中显示几个图块 该容器从虚拟 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