タイトルはすでにそれを言っています。
カスタム アダプターを含むリストビューがあり、行には TextView と CheckBox のみが含まれます。
ユーザーがチェックマークをクリックするか、テキストをクリックするかを判断する必要があるため、ユーザーが何をチェックしようとしているのかを説明する説明ダイアログを表示できます。
私のアダプターでは、次のように OnClickListener を設定しています。
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View row = convertView;
if(row==null){
LayoutInflater inflater=getLayoutInflater();
row=inflater.inflate(R.layout.entsorgung_list_item, parent, false);
}
// CheckedTextView checkedTextView = (CheckedTextView)row.findViewById(R.id.ctvEntsorgung);
// checkedTextView.setText(bedarfsList.get(position));
TextView itemText = (TextView)row.findViewById(R.id.tvEntdorgItem);
CheckBox itemCheck = (CheckBox)row.findViewById(R.id.cbEntsorgItem);
itemCheck.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("TRACE","check click pos ");
// here i need the ListView position thats been clicked
}
});
itemText.setText(bedarfsList.get(position));
Boolean checked = myChecked.get(position);
if (checked != null) {
itemCheck.setChecked(checked);
}
return row;
}
CheckBox の focusable は false に設定されています。
私のアクティビティには、テキストクリックで正常に機能する OnItemClickListener があります。チェックボックスにも同じことが必要です。