- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我试图在卡片 View 中显示图像和标题。代码应该从文本文件中获取图像名称并将其转换为图像的 ID,这些图像已经在可绘制文件中。但是当我在模拟器上运行我的代码时,只显示标题。所以我使用 Log.d 检查值,结果发现图像的名称已经存在,但资源 ID 为 0。我一直在寻找相同的问题和解决方案,但没有任何效果。或者是否有更好的方法在适配器中检索图像的 ID?
@Override
public void onBindViewHolder(@NonNull MyRecyclerViewAdapter.MyViewHolder myViewHolder, int i) {
News news = news_list.get(i);
myViewHolder.textView_title.setText(news.getNews_title());
mContext = mContext.getApplicationContext();
String imageName = news.getImage_name();
int resID = mContext.getResources().getIdentifier(imageName, "drawable", mContext.getPackageName());
Log.d("here",news.getImage_name());
Log.d("here", String.valueOf(resID));
final String URL = news.getURLs();
myViewHolder.imageView_image.setImageResource(resID);
以上是我的 recyclerviewadapter 的 onBindViewHolder 中的代码,用于在 cardview 中显示标题和图像。
2019-11-10 13:09:00.688 29179-29179/com.example.assignment4_task1 D/here: cyber5.png
2019-11-10 13:09:00.689 29179-29179/com.example.assignment4_task1 D/here: 0
2019-11-10 13:09:00.707 29179-29179/com.example.assignment4_task1 D/here: cyber1.png
2019-11-10 13:09:00.707 29179-29179/com.example.assignment4_task1 D/here: 0
2019-11-10 13:09:00.782 29179-29179/com.example.assignment4_task1 D/here: ai1.png
2019-11-10 13:09:00.782 29179-29179/com.example.assignment4_task1 D/here: 0
2019-11-10 13:09:00.799 29179-29179/com.example.assignment4_task1 D/here: ai3.png
2019-11-10 13:09:00.799 29179-29179/com.example.assignment4_task1 D/here: 0
2019-11-10 13:09:00.824 29179-29179/com.example.assignment4_task1 D/here: cyber5.png
2019-11-10 13:09:00.824 29179-29179/com.example.assignment4_task1 D/here: 0
2019-11-10 13:09:00.842 29179-29179/com.example.assignment4_task1 D/here: ai2.png
2019-11-10 13:09:00.842 29179-29179/com.example.assignment4_task1 D/here: 0
2019-11-10 13:09:00.860 29179-29179/com.example.assignment4_task1 D/here: ai4.png
2019-11-10 13:09:00.861 29179-29179/com.example.assignment4_task1 D/here: 0
以上是 Logcat 的结果。图片名称已经存在,我没有故意在名称后面加上 +".png",但资源 ID 仍然返回 0。
最佳答案
从您的资源名称中删除 .png。 getIdentifier 在没有文件扩展名的情况下工作。
String imageName = news.getImage_name().substring(0, str.lastIndexOf('.'))
如果您想使用文件扩展名,请使用 Assets 文件夹(我认为在您的情况下最好使用 Assets 文件夹):
Drawable d = Drawable.createFromStream(getAssets().open("Images/image_name.png"), null);
关于android - getIdentifier() 一直返回 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58786038/
我有一个在 Android 市场上相当流行的应用程序,它允许数以万计的用户按下一个按钮并向它发出语音命令。然后我就可以做很多不同的事情,比如给他们提供当前的天气预报等等...... 无论如何,我的应用
令人惊讶的是,标题基本上解释了它。我们有一个我们的客户制作的页面,我们正在重新创建该页面。 页面高度会一直增加,直到(我假设是这样)浏览器达到它的极限。我已经尝试过 Firebug 和 W3 验证器,
我是 react-native 的新手,试图创建我自己的组件,但它一直显示一个空屏幕。 这是我的组件代码 class BoxComponent extends Component { cons
我正在为我的 PHP 元素创建一个非常简单的博客,但遇到了一个简单的问题。我无法让我的页眉图像一直 float 。我有一个横幅,左边有一些文字,我有一个 1px 的切片,在可以选择的任何分辨率的宽度上
为什么我可以在另一个 Controller 的 View 中访问一个 Controller 的辅助方法?有没有办法在不破解/修补 Rails 的情况下禁用它? 最佳答案 @George Schreib
我正在使用带有最新 ADT 插件的 Eclipse Kepler SP2。每隔一分钟 Eclipse 就会说“为 Android 4.4.2 加载数据”并阻止我想做的一切。我在不同的文件夹中有几个 E
我是一名优秀的程序员,十分优秀!