私はグーグルとstackoverflowを介して改訂しました。
Android-2つの異なる色のListView
この投稿は背景色の変更に役立ちます。しかし、ロジックに従って背景色を変更したい場合はどうすればよいですか?
たとえば、私のコードはすでにconvertViewを設定しています。以下のように
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null)
convertView = inflater.inflate(R.layout.rest_list, null);
TextView id = (TextView)convertView.findViewById(R.id.id); // title
TextView name = (TextView)convertView.findViewById(R.id.name); // artist name
TextView area = (TextView)convertView.findViewById(R.id.area); // duration
TextView type = (TextView)convertView.findViewById(R.id.type); // duration
ImageView image=(ImageView)convertView.findViewById(R.id.image); // thumb image
HashMap<String, String> restaurant = new HashMap<String, String>();
restaurant = data.get(position);
// Setting all values in listview
if(name != null){
id.setText(restaurant.get(RestaurantList.TAG_ID));
name.setText(restaurant.get(RestaurantList.TAG_NAME));
area.setText(restaurant.get(RestaurantList.TAG_AREA));
type.setText(restaurant.get(RestaurantList.TAG_TYPE));
imageLoader.DisplayImage(restaurant.get(RestaurantList.TAG_IMAGE), image);
}
//this line is example..
convertView.setBackgroundColor(position % 2 == 0 ? Color.WHITE : Color.GREEN);
// i wanna do like this (if there is name MacDonal in NewYork , set the background to green. otherwise leave it white.
// it gives me red underline at the 'logic operation' sentence.
convertView.setBackgroundColor(name == MacDonal && area == newYork ? Color.WHITE : Color.GREEN);
return convertView;
}
誰かが修正する方法を知っていますか?ありがとう!