Spinner 作为 MenuItem 未由 findViewById 初始化

2023-12-19

我的操作栏上有一个微调器。它是一个菜单项(不是导航模式)。它在我从 spinnerNumber 调用方法的行返回一个 nullpointerException。 我认为我对 xml 做了一些错误,或者也许我不应该在 OnCreateOptionMenu 上初始化它(但我认为在菜单 xml 尚未膨胀时在 OnCreate 上调用它也是不正确的)。

act_main.xml:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >

<item
    android:id="@+id/numberSpinner"
    android:actionLayout="@layout/spin_number"
    android:showAsAction="always">
</item>
<item
    android:id="@+id/menu_settings"
    android:orderInCategory="100"
    android:showAsAction="ifRoom"
    android:title="@string/menu_settings">
</item>

spin_number.xml

   <Spinner xmlns:android="http://schemas.android.com/apk/res/android"

android:layout_width="wrap_content"
android:layout_height="wrap_content" />

我的 SherlockFragmentActivity 中的方法:

public boolean onCreateOptionsMenu(Menu menu) {
    getSupportMenuInflater().inflate(R.menu.act_main, menu);

    spinnerNumber= (Spinner)findViewById(R.id.numberSpinner);


    mAdapter = new SimpleCursorAdapter(this,
            android.R.layout.simple_list_item_2, null,
            new String[] { MyContentProvider.Data.N_TITLE, MyContentProvider.Data.N_NUMBER, MyContentProvider.Data.N_ID },
            new int[] { android.R.id.text1, android.R.id.text2 },
            CursorAdapter.FLAG_REGISTER_CONTENT_OBSERVER);

    this.getSupportLoaderManager().initLoader(NUMBERS_LOADER, null, this);

    spinnerNumber.setAdapter(mAdapter);
    spinnerNumber.setOnItemSelectedListener(this);
    spinnerNumber.setSelection(setSpinPosition());

    return true;
}

findViewbyId 将尝试从 Activity 的 contentView 中查找 id。

代替

spinnerNumber= (Spinner)findViewById(R.id.numberSpinner);

Try this

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

Spinner 作为 MenuItem 未由 findViewById 初始化 的相关文章

随机推荐

  • Outlook MailItem:如何区分邮件是传入还是传出?

    我正在用 C 编写 VSTO Outlook 插件 我需要区分给定的 MailItem 是传入还是传出 或者两者都不是 例如当它是草稿时 有什么万无一失的方法可以做到这一点吗 我现在拥有的最佳解决方案是获取收件人 抄送和密送的列表 从活动帐
  • 由正方形网格组成的多边形

    我正在寻找一种算法来查找围绕连续的没有孔的正方形网格的多边形 如下所示 我已经让每个网格方块存储有关它们组成的周围区域的边缘类型的数据 即顶部 右上角 顶部底部 无边缘等 所以我认为这数据可以被算法利用 如果有人可以为这种算法提供一些伪代码
  • 如何像 SQL 连接一样使用 OData Expand?

    我试图弄清楚如何完成相当于 select from Users u inner join Comments c on c UserId u Id where Id 1569 表别名以获得更好的 SQL 可读性 在 StackOverflow
  • MAMP mySQL Snow Leopard 中的 Ruby On Rails

    我正在尝试找到在 MAMP 服务器上运行 Ruby on Rails 并使用 MAMP 的 mySQL 数据库的分步说明 我也在雪豹上 我已经阅读了 Hivelogic 的相关文章 但我真的不想编译rails ruby 和mySQL 大家有
  • 如何在mathematica中任意指定线条的粗细或点的大小

    我知道有一些选择 例如PointSize Large or PlotStyle gt Thick 但是如果我想要更大或更厚怎么办 谢谢 PointSize number 相对于图像的大小 AbsolutePointSize number 绝
  • 不使用 Visual Studio GUI 设计器(工具箱)构建 C# GUI

    在 Java Swing 中 我们只需编写 Java 代码即可创建 GUI 例如在 Eclipse 中 使用 NetBeans 工具箱将组件拖放到 UI 是可选的 我想知道C 中是否有相同的概念 我可以将组件放入 GUI 中并仅通过编码来添
  • 如何将一系列数组元素克隆到新数组?

    我有一个包含 10 个元素的数组 X 我想创建一个新数组 其中包含 X 中从索引 3 开始到索引 7 结束的所有元素 当然 我可以轻松编写一个循环来为我完成此操作 但我想让我的代码尽可能干净 C 中有没有一种方法可以帮我做到这一点 类似于
  • bash 如何从管道输入或命令行参数中读取

    我想从管道或命令行参数读取一些数据 比如 1 以提供的为准 优先考虑管道 该片段告诉我管道是否打开 但我不知道要在里面放什么以免阻塞脚本 test sh 使用read or cat if t 0 then echo nopipe DATA
  • WPF 将 FrameworkElement 事件绑定到命令

    我怎样才能绑定一个UserControl s FrameworkElement事件到视图模型命令 我使用 MVVM 和 Prism 因此视图和视图模型之间的清晰分离会很好 我尝试了多种方法 但都不起作用
  • org.springframework.security:org.springframework.security.web:jar:3.0.5.RELEASE 的 POM 丢失,没有可用的依赖信息

    当包含进pom xml
  • 如何将 QCompleter 与 InputDialog 一起使用?

    我正在编写一个 Python 应用程序 用户可以在 QInputDialog 中输入字符串 我如何使用 QCompleter 使输入更容易 我已经在不同的网站上搜索并阅读了文档https doc qt io qt 5 qcompleter
  • iTextSharp 的 Rtf 支持哪里去了

    在版本 5 中 iText 已分为两个分支 iText PDF 和 iText RTF 我用的iTextSharp现在好像是iText PDF NET 是否有 iText RTF 端口 我认为 iTextSharp 主页会提到这一点 但几乎
  • 跨多个 WAR 文件的 java web 模板

    我有一个设计得很糟糕的多 WAR Web 应用程序 有一个 WAR 负责处理针对数据库的某些授权 并使用 jsp 标记库定义标准网页 主 WAR 基本上检查用户的权限 然后基于此显示指向其他已部署 WARS 的上下文路径的链接 其他部署的每
  • Entity Framework Core - 迁移 - 没有为此对象定义无参数构造函数

    我正在 Visual Studio 2017 中使用最新的 Net Core 和 EF Core 我创建了一个模型 并且运行良好 此后我进行了一些修改 当我尝试添加新的迁移时收到以下错误 Build succeeded 0 Warning
  • 从 s3 下载到操作工作流程中

    我正在开发 2 个 github 操作工作流程 训练模型并将其保存到 s3 每月 从 s3 下载模型并将其用于预测 每日 Using https github com jakejarvis s3 sync action https gith
  • NSTimeInterval 格式化

    我想带着我的NSTimeInterval并将其格式化为字符串 00 00 00 小时 分钟 秒 做这个的最好方式是什么 从 iOS 8 0 开始 现在有NSDateComponentsFormatter其中有一个stringFromTime
  • Ruby 单元测试:在每次失败的测试后运行一些代码

    在 ruby 单元测试中断言失败后 是否有一些干净而优雅的方法可以立即执行我的代码Test Unit 前teardown被处决 我正在做一些自动化 GUI 测试 并且想在出现故障后立即截取屏幕截图 如果您使用的是 1 9 请不要使用 Tes
  • 如何在 C# 中与 Windows Media Player 交互

    我正在寻找一种与独立完整版 Windows Media Player 进行交互的方法 大多数情况下 我需要知道当前播放曲目的路径 iTunes SDK 使这一切变得非常简单 但不幸的是 确实没有任何方法可以使用 Windows Media
  • C# 函数是否有标准的“永不返回”属性?

    我有一种方法 如下所示 void throwException string msg throw new MyException msg 现在如果我写 int foo int x y if y 0 throwException Doh el
  • Spinner 作为 MenuItem 未由 findViewById 初始化

    我的操作栏上有一个微调器 它是一个菜单项 不是导航模式 它在我从 spinnerNumber 调用方法的行返回一个 nullpointerException 我认为我对 xml 做了一些错误 或者也许我不应该在 OnCreateOption