- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我有一个 ListView 和由 TextView、ImageView、ImageButton 组成的自定义布局。我希望我的图像按钮表现得像 RadioButton。但是我的 onListItemClick 事件没有被调用。
public class MyListAdapter extends BaseAdapter {
Context context;
ArrayList<String> text;
ArrayList<String> Count;
int count;
public MyListAdapter(Context ctx, ArrayList<String> text, ArrayList<String> Count) {
this.context = ctx;
this.textAnswers = text;
this.optionCount = Count;
}
@Override
public int getCount() {
return Count.size();
}
@Override
public Object getItem(int position) {
return position;
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView == null) {
convertView = LayoutInflater.from(context).inflate(R.layout.custom_layout, null);
}
ImageButton choice = (ImageButton)convertView.findViewById(R.id.ImageButton);
if(imageChoice != null) {
choice.setImageResource(R.drawable.radio_unselected);
}
TextView txt = (TextView)convertView.findViewById(R.id.TextView);
txt.setText(Count.get(position));
TextView txtText = (TextView)convertView.findViewById(R.id.TextViewAnswer);
txtText.setText(textAnswers.get(position));
return convertView;
}
}
还有我的 onListItemClick,
@Override
protected void onListItemClick(ListView listView, View v, int position, long id) {
super.onListItemClick(listView, v, position, id);
ImageButton choice = (ImageButton)v.findViewById(R.id.ImageButton);
choice.setImageResource(R.drawable.radio_selected);
}
现在请任何人帮助我的 imagebutton 像单选按钮一样的行为。我错过的最重要的是我的 onListItemClick 没有被调用。我还设置了 android:focusable="false"android:focusableInTouchMode="false"android:clickable="false"我的 custom_layout 上的所有控件。 提前致谢。
最佳答案
您需要在主 Activity 中向您的 ListView 添加一个 setOnItemClickListener,否则,您将永远不会收到对 itemClick 的调用。
例如:
OnCreate() 方法:
ListView lv = (ListView) findViewById(R.id.listview1);
lv.setOnItemClickListener(this);
//创建下面的方法,让activity实现onitemclicklistener
public void onItemClick(AdapterView<?> a, View v, int position, long id) {
//set action here
}
那应该有效:)
关于android - onListItemClick 没有在 android 中被调用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6902356/
我正在使用 Gunicorn 为 Django 应用程序提供服务,它工作正常,直到我将其超时时间从 30 秒更改为 900000 秒,我不得不这样做,因为我有一个用例需要上传和处理一个巨大的文件(过程
我有一个带有非常基本的管道的Jenkinsfile,它可以旋转docker容器: pipeline { agent { dockerfile { args '-u root' } } stag
在学习 MEAN 堆栈的过程中,我遇到了一个问题。每当我尝试使用 Passport 验证方法时,它都不会返回任何响应。我总是收到“localhost没有发送任何数据。ERR_EMPTY_RESPONS
在当今的大多数企业堆栈中,数据库是我们存储所有秘密的地方。它是安全屋,是待命室,也是用于存储可能非常私密或极具价值的物品的集散地。对于依赖它的数据库管理员、程序员和DevOps团队来说,保护它免受所
是否可以创建像图片上那样的边框?只需使用 css 边框属性。最终结果将是没 Angular 盒子。我不想添加额外的 html 元素。我只想为每个 li 元素添加 css 边框信息。 假设这是一个 ul
我是一名优秀的程序员,十分优秀!