gpt4 book ai didi

android - 获取被点击项的名称

转载 作者:行者123 更新时间:2023-11-29 14:15:48 25 4
gpt4 key购买 nike

我正在使用一个扩展 BaseAdapter 的类来填充布局上的 gridView。当我点击 gridView 的一个元素时,我想获取我点击的项目的名称(其中名称是 R.drawable.name 中的名称)

这是我写的

gridView.setOnItemClickListener(new OnItemClickListener() {

@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
Intent intent = new Intent(ChoseActivity.this,
GameActivity.class);
String ab = getResources().getResourceEntryName(arg1.getId());
intent.putExtra("AB", ab);
startActivity(intent);
}
}

我有这个错误

02-27 13:46:49.285: E/AndroidRuntime(24862): FATAL EXCEPTION: main
02-27 13:46:49.285: E/AndroidRuntime(24862): android.content.res.Resources$NotFoundException: Unable to find resource ID #0xffffffff
02-27 13:46:49.285: E/AndroidRuntime(24862): at android.content.res.Resources.getResourceEntryName(Resources.java:1499)
02-27 13:46:49.285: E/AndroidRuntime(24862): at com.example.kersplatt.ChoseActivity$1.onItemClick(ChoseActivity.java:36)
02-27 13:46:49.285: E/AndroidRuntime(24862): at android.widget.AdapterView.performItemClick(AdapterView.java:284)
02-27 13:46:49.285: E/AndroidRuntime(24862): at android.widget.AbsListView$PerformClick.run(AbsListView.java:1812)

我不明白,因为点击的图片在我的资源中

编辑1

我在我的 Adapter 的 getView 中试过了,但仍然有同样的错误:

ImageView imageView = new ImageView(mContext);
imageView.setTag(R.drawable.currentimage);

最佳答案

没有 getDrawableId 函数,因此您需要执行一些操作,例如在更改其可绘制对象时为 ImageView 设置标签。

在您的适配器类 getview() 中将标签设置为 imageview 对象,让标签成为可绘制资源的 ID。

imageview.settag(r.drawable.currentimage)

现在当你想要 gridview 的 drawable onClick 时,获取标签并从其 id 获取 drawable

int drawableId = (Integer)imageview.getTag();

你可以使用

获取drawable的名称
getResources().getResourceEntryName(int drawableId);

关于android - 获取被点击项的名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15113697/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com