我正在使用 CheckedTextView 中的 ListView。要更改 CheckedTextView 框(选中/未选中),我使用此方法:
protected void onListItemClick(ListView l, View v, int position, long id) {
super.onListItemClick(l, v, position, id);
...
SoundDialog.Builder alert;
v.performHapticFeedback(HapticFeedbackConstants.VIRTUAL_KEY);
switch (soundPreference.getType()) {
case BOOLEAN:
CheckedTextView checkedTextView = (CheckedTextView) v;
if (checkedTextView.isChecked()){
checkedTextView.setCheckMarkDrawable(R.drawable.ic_blue);
} else {
checkedTextView.setCheckMarkDrawable(R.drawable.ic_red);
}
boolean checked = !checkedTextView.isChecked();
((CheckedTextView) v).setChecked(checked);
...
这可行,但有一个问题,该方法在 listview 侦听器 ( onListItemClick (ListView l, View v, int position, long id) {...
) 中执行 当您进入活动时,CheckedTextView 具有其默认图像,直到您单击该项目并执行该方法。
if (checkedTextView.isChecked ()) {...
如果在 onListItemClick 中创建了 CheckedTextView,我如何在 onCreate() 中实现此方法?
我搜索了很多,但找不到答案。
我很感激任何帮助
提前致谢。