一切正常。即,从Firebase读取数据并显示在FirebaseListAdapter中。
以下是有问题的代码
int urg = model.getUrgency();
if(urg == 1) v.setBackgroundColor(Color.RED);
问题是它是否随机地将更多行的颜色变为红色。即对于我的测试我只有1条记录有urg = 1.但是当我滚动时,超过1行变成红色。我该如何解决?
private void refreshListView(){
fbAdapter = new FirebaseListAdapter<Post>(this, Post.class,R.layout.post_message, query) {
@Override
protected void populateView(View v, Post model, int position) {
TextView messageText = (TextView)v.findViewById(R.id.message_text);
TextView messageTime = (TextView)v.findViewById(R.id.message_time);
messageText.setText(model.getMessageText());
messageTime.setText(shortTime.format(model.getPostTimeStamp()));
int urg = model.getUrgency();
if(urg == 1) v.setBackgroundColor(Color.RED);
}
};
mListView.setAdapter(fbAdapter);
mListView.requestFocus();
}
答案 0 :(得分:1)
多行中出现红色的原因是,没有其他块。添加else块将解决此问题。
int urg = model.getUrgency();
if(urg == 1){
v.setBackgroundColor(Color.RED);
}else{
v.setBackgroundColor(Color.WHITE);
}