- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我在菜单项的actionLayout中使用ImageView,但是当我尝试设置图像资源时,我得到一个NPE:/我不确定我可能做错了什么,任何帮助将不胜感激! :)
菜单.xml
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/add_note"
android:icon="?attr/add_note_icon"
android:title="@string/add_note"
app:showAsAction="ifRoom"/>
<item
android:id="@+id/user_image"
android:title="user_image"
android:orderInCategory="1"
app:actionLayout="@layout/profile_icon"
app:showAsAction="always"/>
<item
android:title="@string/themes"
android:id="@+id/themes"
app:showAsAction="never"/>
</menu>
profile_icon.xml
<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_gravity="center">
<de.hdodenhof.circleimageview.CircleImageView
android:id="@+id/profile_icon_main"
android:layout_width="30dp"
android:layout_height="30dp"
android:layout_marginLeft="-4dp"
android:src="@drawable/user_image_blue"/>
</FrameLayout>
java
CircleImageView profile_icon = (CircleImageView) findViewById(R.id.profile_icon_main);
profile_icon.setImageResource(R.drawable.user_image_black);
最佳答案
您可以在 onCreateOptionsMenu()
中访问 ActionView
(及其子项)。请注意,您必须编写 actionView.findViewById(...)
,因为您想要访问 ActionBar
的子 View
,而不是 Activity
内容 View
的子 View
(它通常是从您在 setContentView()
中引用的布局资源膨胀的)。
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
getMenuInflater().inflate(R.menu.main, menu);
MenuItem menuItem = menu.findItem(R.id.user_image);
View actionView = menuItem.getActionView();
actionView.setBackgroundColor(Color.RED);
ImageView imageView = actionView.findViewById(R.id.icon_main);
imageView.setImageResource(R.drawable.user_image_black);
return true;
}
关于java - ImageView.setImageResource 返回 NullPointerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49393222/
我正在尝试设置一个图像,并在短暂的停顿(如闪烁)后将其更改为不同的图像;并且它应该在应用程序启动后自动启动。 public class MainActivity extends ActionBarAc
我需要更改 ImageView 中的图像,然后获取宽度。问题是,它给了我最后一张图片的宽度。 headpic.setImageResource(head[x]); int width = headpi
我有以下代码: public class PainLogger extends Activity implements OnClickListener, OnItemClickListener{
我正在尝试制作我的第一个应用程序 (yahtzee)。当您单击滚动按钮时,我想切换骰子的图像,现在每当我调用 setImageResource 时我都会崩溃。 主要 Activity : public
关闭。这个问题需要debugging details .它目前不接受答案。 编辑问题以包含 desired behavior, a specific problem or error, and th
每当我尝试运行该行时,我的程序就会崩溃: d1.setImageResource(R.drawable.clubs9); 我想不通为什么。它似乎与我使用类似代码行的另一个程序相同。我试过添加 getR
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set
我正在制作一款棋盘游戏,我正在为棋盘使用 10x10 GridView。我制作了一个扩展 BaseAdapter 的 ImageAdapter 类,它包含一个整数图标数组(9 个补丁文件),这些用于显
我有一个 imageView,我想显示您当前所在国家/地区的小图标。我可以获得国家代码,但问题是我无法动态更改 imageView 资源。我的图片文件都是小写的(例如:国家代码=US,图片文件=us)
我想根据我的字符串更改 imageview src,我有这样的东西: ImageView imageView1 = (ImageView)findViewById(R.id.imageView1);
我是 java/android 新手,正在制作一个测试应用程序。它有图像按钮,单击时会暂时切换到不同的图像。使用 裁剪原件 android:adjustViewBounds="true" androi
我试图在我的应用程序中显示一个图像,每次按下按钮时该图像都会发生变化。应显示的图像的名称位于我的对象中。我可以通过以下方式获取图像的名称 String nameOfImage = myObhect.g
已关闭。这个问题是 not reproducible or was caused by typos 。目前不接受答案。 这个问题是由拼写错误或无法再重现的问题引起的。虽然类似的问题可能是 on-top
我有一个 imageView,我想显示您当前所在国家/地区的小图标。我可以获取国家/地区代码,但问题是我无法动态更改 imageView 资源。我的图像文件都是小写的(例如:国家/地区代码=US,图像
我尝试设置IV_status.setImageResource(R.drawable.red) 但它似乎不起作用,每当调用上面的代码时,整个应用程序都会运行 会崩溃。我也尝试过setBackgroun
我无法找到如何将图片设置为 setImageResource()。目前我可以像这样从 res/drawable 轻松添加: 在 ListViewAdapter 中: imageView = (Imag
我需要有关使用 setImageResource 方法设置随机图像的帮助。在可绘制文件夹中,我有一个名为 photo0.jpg、photo1.jpg...photo99.jpg 的 jpeg 文件。以
我正在尝试从我的 Assets 文件夹中获取图像并将它们设置到我的变量中,称为insectImage。这是我所做的: InsectRecyclerAdapter.InsectHolder insect
我正在构建另一个更大的应用程序,在某些时候我需要动态更改图像,并且我的应用程序崩溃了。因此,为了测试功能,我制作了另一个非常简单的应用程序,它只显示带有代码的图片: package com.examp
我想基于变量以编程方式为 ImageButton 设置 ImageResource。 例如:如果 size=5,我想将 setImageResource 设置为 R.drawable.five
我是一名优秀的程序员,十分优秀!