ArrayAdapter getView 位置不正确
ArrayAdapter getView position is not true
对于我的 ListView,我有这个 ArrayAdapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, uas) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View item = super.getView(position, convertView, parent);
if(uas.size() > 0 && tinydb.getInt("selectedUA", 0) == position) {
item.setBackgroundColor(Color.GREEN);
}
return item;
}
};
假设 selectedUA 是 3,所以它将第 3 个索引着色为绿色。问题是第一个索引也总是有颜色。好像位置值什么的有bug。谁能帮帮我?
如果条件为假,请尝试重置其他行的默认颜色:
if(uas.size() > 0 && tinydb.getInt("selectedUA", 0) == position) {
item.setBackgroundColor(Color.GREEN);
} else {
// e.g.
item.setBackgroundColor(Color.RED);
}
对于我的 ListView,我有这个 ArrayAdapter
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, android.R.id.text1, uas) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View item = super.getView(position, convertView, parent);
if(uas.size() > 0 && tinydb.getInt("selectedUA", 0) == position) {
item.setBackgroundColor(Color.GREEN);
}
return item;
}
};
假设 selectedUA 是 3,所以它将第 3 个索引着色为绿色。问题是第一个索引也总是有颜色。好像位置值什么的有bug。谁能帮帮我?
如果条件为假,请尝试重置其他行的默认颜色:
if(uas.size() > 0 && tinydb.getInt("selectedUA", 0) == position) {
item.setBackgroundColor(Color.GREEN);
} else {
// e.g.
item.setBackgroundColor(Color.RED);
}