すでにテキストとチェックボックスがある ListView のアイテムにアイコンを追加することを考えていました: simple_list_item_multiple_choice.xml は、いくつかの属性を持つ < CheckedTextView > タグにすぎません
私はカスタム アダプター ソリューションを認識していますが、より直感的なソリューションが本当に必要です。ソースコードをいじるのは直感的ではないことはわかっていますが、私が言いたかったのは、これを行うだけの簡単さです:
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this, // context
android.R.layout.simple_list_item_multiple_choice, // view for an item in the list
myCursor, // cursor used for populating list items
new String[] {dBHelper.CONTACT_NAME}, // column in cursor we are getting data from
new int[] {android.R.id.text1}); // where to put this data in the item's view
結果は次のようなもので取得できます。
SparseBooleanArray checkedPositions = lv.getCheckedItemPositions();
別のファイルに書かれたコード
私の問題は、Eclipseが解決できないことです: R.styleable.CheckedTextViewとmPaddingRight :
TypedArray a = context.obtainStyledAttributes(attrs,
R.styleable.CheckedTextView, defStyle, 0);
と
Drawable d = a.getDrawable(R.styleable.CheckedTextView_checkMark);
と
boolean checked = a.getBoolean(R.styleable.CheckedTextView_checked, false);
と
mPaddingRight = mCheckMarkWidth + mBasePaddingRight;
d.setState(getDrawableState());
} else {
mPaddingRight = mBasePaddingRight;
}
と
@Override
public void setPadding(int left, int top, int right, int bottom) {
super.setPadding(left, top, right, bottom);
mBasePaddingRight = mPaddingRight;
}
ありがとうございました... :)