На активити добавил листВью, при большом количестве элементов, при скроллинге, выделяются все элементы. Хотелось бы убрать этот эффект =)
public class ListAdapter extends ArrayAdapter
private List
public ListAdapter(Context context, List
}
static class ViewHolder {
public TextView title,
timeField;
public Date dateStart;
public Date dateFinish;
public ImageView icon;
}
Task task;
ViewHolder holder;
long time;
ArrayList
@Override
public View getView(int position, View convertView, ViewGroup parent) {
task = tasks.get(position);
View view = convertView;
if (view == null) {
LayoutInflater inflater = (LayoutInflater) getContext().getSystemService(Context.LAYOUT_INFLATER_SERVICE);
view = inflater.inflate(R.layout.rowlayout, null);
holder = new ViewHolder();
holder.icon = (ImageView) view.findViewById(R.id.subj_icon);
holder.title = (TextView) view.findViewById(R.id.title);
holder.timeField = (TextView) view.findViewById(R.id.start_date);
view.setTag(holder);
} else {
holder = (ViewHolder) view.getTag();
}
// view.setTag(holder);
view.setTag(R.id.progressBar, task);
holder.title.setText(task.getTitle());
holder.timeField.setText(Utility.formatDate(task.getDateStart()) + " - " + Utility.formatDate(task.getDateEnd()));
view.setOnClickListener(this);
updateIcon();
return view;
}
public void updateIcon() {
int i = task.getPriority();
int excellent = task.getComplet();
if (excellent != 100) {
switch (i) {
case 0:
holder.icon.setImageResource(R.drawable.btn_rating_star_off_normal);
break;
case 1:
holder.icon.setImageResource(R.drawable.btn_rating_star_off_pressed);
break;
case 2:
holder.icon.setImageResource(R.drawable.btn_rating_star_off_selected);
break;
default:
break;
}
} else {
switch (i) {
case 0:
holder.icon.setImageResource(R.drawable.btn_rating_star_on_normal);
break;
case 1:
holder.icon.setImageResource(R.drawable.btn_rating_star_on_pressed);
break;
case 2:
holder.icon.setImageResource(R.drawable.btn_rating_star_on_selected);
break;
default:
break;
}
}
}
public void onClick(View v) {
Intent intent = new Intent(getContext(), TaskActivity.class);
intent.putExtra(IDKeys.UID, ((Task)v.getTag(R.id.progressBar)).getID());
getContext().startActivity(intent);
}
/****************************************************************************************
*
* Context Menu
*
****************************************************************************************/
public static final int IDM_DELETE = 102;
public void onCreateContextMenu(ContextMenu menu, View v,
ContextMenuInfo menuInfo) {
menu.add(Menu.NONE, IDM_DELETE, Menu.NONE, "DELETE");
}
}
UPD.1
на рис.1 (со звездочками) - ListView, (прилагается его код)
при попытке его прокрутить пальцем на экрана девайса(или в эмуляторе), получаем -результат, на рис. 2. Т.е. все элементы выделяются, как один
Ответ
Подставил на свой row_layout.xml фон - эффект пропал....
Комментариев нет:
Отправить комментарий