- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我需要以编程方式创建菜单(与选项卡列表完全相同)以支持我的应用程序中的导航。所以我做了这样的代码
public override bool OnCreateOptionsMenu (IMenu menu)
{
base.OnCreateOptionsMenu (menu);
for (int i = 0; i < fragmentsTabs.Count; i++) {
menu.Add(0,100 + i,i,new Java.Lang.String(fragmentsTabs.GetItem(i).Key));
}
return true;
}
但是当我点击菜单按钮时,我得到了这样的异常:
[AndroidRuntime] java.lang.NullPointerException
[AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.setTitle(ListMenuItemView.java:117)
[AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.initialize(ListMenuItemView.java:104)
[AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:377)
[AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:219)
[AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:153)
[AndroidRuntime] at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:752)
[AndroidRuntime] at android.os.Handler.handleCallback(Handler.java:733)
[AndroidRuntime] at android.os.Handler.dispatchMessage(Handler.java:95)
[AndroidRuntime] at android.os.Looper.loop(Looper.java:136)
[AndroidRuntime] at android.app.ActivityThread.main(ActivityThread.java:5017)
[AndroidRuntime] at java.lang.reflect.Method.invokeNative(Native Method)
[AndroidRuntime] at java.lang.reflect.Method.invoke(Method.java:515)
[AndroidRuntime] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
[AndroidRuntime] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
[AndroidRuntime] at dalvik.system.NativeStart.main(Native Method)
[AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHel08.448 W/ActivityManager( 575): Force finishing activity pl.media30.android.parlament/aplikacjaparlamentandroid.PersonDetailsActivity
我正在使用支持库中的工具栏:
Toolbar = FindViewById<Android.Support.V7.Widget.Toolbar>(Resource.Id.toolbar);
SetSupportActionBar(Toolbar);
SupportActionBar.SetHomeButtonEnabled(true);
SupportActionBar.SetDisplayHomeAsUpEnabled(true);
在另一部手机上,我获得了有关 NullPointerException 的更多信息:
[AndroidRuntime] java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.TextView.setText(java.lang.CharSequence)' on a null object reference
[AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.setTitle(ListMenuItemView.java:117)
[AndroidRuntime] at android.support.v7.internal.view.menu.ListMenuItemView.initialize(ListMenuItemView.java:104)
[AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper$MenuAdapter.getView(MenuPopupHelper.java:377)
[AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.measureContentWidth(MenuPopupHelper.java:219)
[AndroidRuntime] at android.support.v7.internal.view.menu.MenuPopupHelper.tryShow(MenuPopupHelper.java:153)
[AndroidRuntime] at android.support.v7.widget.ActionMenuPresenter$OpenOverflowRunnable.run(ActionMenuPresenter.java:752)
[AndroidRuntime] at android.os.Handler.handleCallback(Handler.java:739)
[AndroidRuntime] at android.os.Handler.dispatchMessage(Handler.java:95)
[AndroidRuntime] at android.os.Looper.loop(Looper.java:135)
[AndroidRuntime] at android.app.ActivityThread.main(ActivityThread.java:5221)
[AndroidRuntime] at java.lang.reflect.Method.invoke(Native Method)
[AndroidRuntime] at java.lang.reflect.Method.invoke(Method.java:372)
[AndroidRuntime] at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:899)
[AndroidRuntime] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:694)
有人知道为什么没有创建 TextView 吗?什么是问题。我在这个 Activity 中有很多 fragment ,但没有一个在使用菜单。如果我创建单个图标,例如搜索,一切正常。图标已正确创建并且 onclick 已得到妥善处理。只有当菜单项未显示为操作时才会出现问题
@编辑
我的工具栏 axml 是:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:minHeight="?attr/actionBarSize"
android:background="?attr/colorPrimary">
<ImageView
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="end"
android:scaleType="fitEnd"
android:src="@drawable/side" />
</android.support.v7.widget.Toolbar>
最佳答案
我遇到了大约 2 个小时的同样问题。然后在尝试了一切之后我决定“清理所有”项目。在我这样做之后,一切都像一个魅力。我在项目中更改的另一件事可能会有所帮助,那就是用 Support.v4 替换所有正常的 Fragment 导入。
希望对您有所帮助!
关于android - 显示 OptionsMenu 时出现 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28738762/
伙计们。 问题来了。假设我的菜单上有三样东西。我希望第一个不可见(如透明)但同时占用空间。第二个和第三个可以正常显示。 谢谢 编辑: 我的菜单上有三个项目。我有垂直排列的菜单,所以像这样: Menu:
我正在尝试制作一个简单的 Activity,它有一个带有两个按钮的菜单。第一个按钮将加载一个单独的 Activity ,而第二个按钮我现在无事可做。我在各处都放置了日志语句,但唯一执行的是 onCre
我想在屏幕顶部显示复选框以允许用户启用屏幕锁定,我只想在他打开选项菜单时显示该复选框。我可以通过覆盖这两种方法来做到这一点 @Override public boolean onMenuOpened(
在我的项目中,我试图以编程方式打开optionsMenu,而无需单击用户的menu 键。我试过 openOptionsMenu() 但它给了我这样的错误 android.view.WindowMana
问题是,如果我按下 OptionsMenu 的硬件按钮,应用程序会卡住,半秒后 fragment View 会消失。 没有 LogCat 错误,这让我有些困惑。菜单在六分之一的 fragment 中不
我只是想知道是否可以在我单击图像时显示我的选项菜单。现在,当单击菜单按钮时,我已经显示了我的选项菜单。但是我也想在用户点击我的 imageView 时显示它。这可能吗? 最佳答案 终于发现这么简单了。
我知道以下可能不是最佳实践,也不推荐这样做。 我有一个向服务器发送数据的 AsyncTask。我需要做的整个过程包括快速连续使用此 AsyncTask 的 4 个 Web 调用。 我了解使用 Asyn
我尝试使用 fragment 更改我的应用程序的 View 。我试了几天,所以我做了一个干净的代码来展示我的问题。我有一个带有 OptionsMenu 的 MainActivity,在这个 Optio
我需要以编程方式创建菜单(与选项卡列表完全相同)以支持我的应用程序中的导航。所以我做了这样的代码 public override bool OnCreateOptionsMenu (IMenu men
我使用在我的主机 Activity MenuActivity 中实现的 NavigationDrawer 模式。我的导航有 3 个项目:项目 1、项目 2、项目 3。每个项目都绑定(bind)到一个
试图了解导致我的 Activity 窗口泄漏的原因。该 Activity 扩展了 AppCompatActivity。它有一个单一的 View ,其中有一个 RecyclerView 和一个在旋转时不
我有一个可用的 SearchView,当用户点击搜索图标时,它会在我的 OptionsMenu 中展开。但是,它仅在其他 OptionsMenu 图标之间的可用空间内扩展。在宽屏幕上这很好,但在狭窄的
我正在使用以下代码创建数据表 ' href='#'>
我有一个带有子项目菜单的选项菜单 当我单击选项菜单时,我的应用程序崩溃,但无法解密日志 我想要一个选项按钮来打开 3 个选项菜单子(monad)项 我检查了一些教程,但我看不出我错在哪里
我在为我的 App 设置首选项时遇到问题。 我想在 ActionBar 中有一个按钮(例如保存),但我的 ActionBar 没有显示任何内容。我将这一行放在 onCreate 方法中: this.s
我正在使用 ActionBarSherlock,我正在尝试使用 viewpager 实现嵌套 fragment 结构。 我有一个包含一些 View 和包装 fragment (FragmentA) 的
我正在使用此代码将选项菜单作为弹出窗口打开: @Override public boolean onPrepareOptionsMenu(Menu menu){ openMenu();
我正在创建 Android 应用程序,我正在尝试尽可能多地遵守最新的 Android 可用性标准。特别是,我正在使用抽屉导航准备用户界面,并试图确保与 2.1+ Android 版本的兼容性。为了理解
我在 viewpager 中有三个 fragment 。 其中两个 fragment 有它们自己版本的 onCreateOptionsMenu 方法: @Override public void o
我已经开发了大约 6 个月的应用程序。它在某些屏幕上使用选项菜单。它一直有效,直到我将 eclipse 从 api ~14 更新到 17。我也更新了工具。 选项菜单不再存在谁能告诉我为什么?在 api
我是一名优秀的程序员,十分优秀!