我想要突出显示当时只有一行,我这样做是为了让TextView
可见(或使用BadgeView库,我在第一次尝试时使用但产生了这个bug,我认为它是图书馆的缺陷/错误。)
这是我的方法:(我已在我的SimpleCursorAdapter
中覆盖此方法)
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor);
int rowId = Integer.valueOf(((TextView) view.findViewById(R.id.two_line_rowid)).getText().toString());
if (rowId == mRowIdSelected) {
((TextView) view.findViewById(android.R.id.text1)).setText("SELECTED");
((TextView) view.findViewById(R.id.select_badge)).setVisibility(View.VISIBLE);
}
}
它工作得很好,但有一个错误。 android.R.id.text1
中的文字仅在所选行中发生变化,这是按预期工作的,但TextView
在第一行和所选行中可见,这是不按预期工作。
有什么想法吗?
答案 0 :(得分:1)
你可以试试这个:
@Override
public void bindView(View view, Context context, Cursor cursor) {
super.bindView(view, context, cursor);
int rowId = Integer.valueOf(((TextView) view.findViewById(R.id.two_line_rowid)).getText().toString());
if (rowId == mRowIdSelected) {
((TextView) view.findViewById(android.R.id.text1)).setText("SELECTED");
((TextView) view.findViewById(R.id.select_badge)).setVisibility(View.VISIBLE);
} else {
((TextView) view.findViewById(android.R.id.text1)).setText("NOT-SELECTED");
((TextView) view.findViewById(R.id.select_badge)).setVisibility(View.INVISIBLE);
}
}
您能提供传递视图的布局吗?