我正在尝试实现自定义 ListView 。 但是,我无法获得复选框的点击事件;
@Override
public View getView(int position, View convertView, ViewGroup parent) {
final int pos = position;
View view = convertView;
if(view == null){
LayoutInflater layoutInflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = layoutInflater.inflate(R.layout.listview,parent, false);
}
TextView textview = (TextView)view.findViewById(R.id.listview_text);
final CheckBox checkbox = (CheckBox)view.findViewById(R.id.listview_check);
checkbox.setFocusable(false);
checkbox.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(context, pos+"", Toast.LENGTH_SHORT).show();
}
});
return super.getView(position, convertView, parent);
}
我希望如果我单击 ListView 中的复选框,弹出有关行位置的 Toast。 但是,此代码仅运行复选框单击事件仅 0 行。 其他行的复选框不触发事件。
我该如何解决?
最佳答案
getView()
中的最后一行似乎很可疑。
您应该返回您创建的 View 或传递给您的 convertView
。
关于android listview复选框事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45842842/