Я называю веб-службу и проанализировать ответ JSON в объект под названием venueListСтранная проблема происходит с GetView в Android
Некоторые из возвращенных мест являются «признаками», то есть в списке они получают другой фон для выделяются из непривлекательных мест.
После того, как я получу данные, я перебираю данные, вставляю элементы вверху, а затем добавляю неработающие места.
После того как данные сортируются так, как я хочу его я использую пользовательский ArrayAdapter так:
ArrayAdapter<Listing> customerAdapter =
new ArrayAdapter<Listing>(ViewHappyHoursListingsActivity.this,
R.layout.list_item, R.id.name, venueListsWithFeaturedAtBeginning) {
@Override
public View getView(int position, View convertView, ViewGroup parent) {
View view = super.getView(position, convertView, parent);
TextView listingID = (TextView)view.findViewById(R.id.listingID);
TextView name = (TextView)view.findViewById(R.id.name);
TextView location = (TextView)view.findViewById(R.id.location);
TextView runningTime = (TextView)view.findViewById(R.id.runningtime);
TextView distance = (TextView)view.findViewById(R.id.distance);
// Change UI if this listing is a featured one
if(getItem(position).featured)
{
name.setText(getItem(position).venueName);
Log.d("Setting textview to black in position:", String.valueOf(position));
name.setBackgroundResource(R.color.black);
}
else
{
name.setText(getItem(position).venueName);
}
listingID.setText("" + getItem(position).listingID);
location.setText(getItem(position).venueLocation);
runningTime.setText(getItem(position).runningTime);
distance.setText(getItem(position).distanceForUI);
return view;
}
};
setListAdapter(customerAdapter);
Основываясь на данных venueListsWithFeaturedAtBeginning только 2 верхних элементов должны иметь черный фон. Есть 8 пунктов в списке и первой и второй имеют черный фон, как ожидалось, но так сделать шестой и седьмой
Результат выглядит как:
ListItem1: Black background
ListItem2: Black background
ListItem3: White background
ListItem4: White background
ListItem5: White background
ListItem6: Black background
ListItem7: Black background
ListItem8: White background
The Log.d() линейные выходы
D/имя параметра TextView к черному в позиции :: 0 D/Настройка имени TextView к черному в позиции :: 1
и больше ничего.
Кто-нибудь знает, почему такое поведение происходит?
Пожалуйста, не используйте '' "+' для преобразования в String, это делает мои глаза кровоточащими. – m0skit0