Java ArrayAdapter getView位置不正确
对于我的ListView,我有这个ArrayAdapterJava ArrayAdapter getView位置不正确,java,android,listview,android-arrayadapter,Java,Android,Listview,Android Arrayadapter,对于我的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 conve
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;
}
};
ArrayAdapter=新的ArrayAdapter(此,
android.R.layout.simple_list_item_1,android.R.id.text1,uas){
@凌驾
公共视图getView(int位置、视图转换视图、视图组父视图){
视图项=super.getView(位置、转换视图、父级);
if(uas.size()>0&&tinydb.getInt(“selectedUA”,0)=位置){
项目.挫折背景颜色(颜色.绿色);
}
退货项目;
}
};
假设selectedUA为3,因此它将第三个索引染成绿色。问题是第一个索引也总是被着色。似乎位置值或其他东西有错误。有人能帮我吗?如果条件为false,请尝试重置其他行的默认颜色:
if(uas.size() > 0 && tinydb.getInt("selectedUA", 0) == position) {
item.setBackgroundColor(Color.GREEN);
} else {
// e.g.
item.setBackgroundColor(Color.RED);
}
可以在if块中记录或打印tinydb.getInt(“selectedUA”,0)值,以查看它返回的确切内容。