B
Butch78
Neues Mitglied
- 0
Hi Leute,
mich macht meine ListView noch irre . Ich versuchte nun schon einige Zeit folgendes Problem zu lösen. Habe eine Liste der eine Textview liegt. Sobald ich ein Objekt anklicke, soll sich dessen Background ändern. Das klappt auch schon alles.
Aber Probleme gibt es wenn ich in meiner Liste scrollen muss. Wenn ich z.B. das erste Element selektiere und scrolle dann nach unten, ist auch automatisch das nächste sichtbare Element mit selektiert.
Hier mal mein Code:
Viele Grüße
Butch
[/LEFT]
mich macht meine ListView noch irre . Ich versuchte nun schon einige Zeit folgendes Problem zu lösen. Habe eine Liste der eine Textview liegt. Sobald ich ein Objekt anklicke, soll sich dessen Background ändern. Das klappt auch schon alles.
Aber Probleme gibt es wenn ich in meiner Liste scrollen muss. Wenn ich z.B. das erste Element selektiere und scrolle dann nach unten, ist auch automatisch das nächste sichtbare Element mit selektiert.
Hier mal mein Code:
Code:
[LEFT]public View getView(final int position, View convertView, ViewGroup parent) {
View view = null;
if (convertView == null) {
LayoutInflater inflator = context.getLayoutInflater();
view = inflator.inflate(R.layout.condiment_list_items, null);
final ViewHolder viewHolder = new ViewHolder();
//viewHolder.icon = (ImageView)view.findViewById(R.id.iv_loeschen_icon);
viewHolder.text = (TextView) view.findViewById(R.id.tx_condiment_list_items);
viewHolder.text.setTag(list.get(position));
viewHolder.text.setBackgroundDrawable(null);
viewHolder.text.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
BasketItem item = (BasketItem)
v.getTag();
if(item.getKorb() == 0){
item.setKorb(1);
v.setBackgroundDrawable(getResources().getDrawable(R.drawable.strike_out));
Toast.makeText(mContext, item.getZutat(), Toast.LENGTH_LONG).show();
}else{
item.setKorb(0);
v.setBackgroundDrawable(null);
}
}
});
viewHolder.text.setOnLongClickListener(new OnLongClickListener() {
@Override
public boolean onLongClick(View v) {
ArrayList<BasketItem> list = new ArrayList<BasketItem>();
BasketItem item = (BasketItem) viewHolder.text.getTag();
list.add(item);
Intent intent = new Intent(mContext, ContextMenuHelperCondimentList.class);
intent.putParcelableArrayListExtra ("list", (ArrayList<? extends Parcelable>) list);
startActivity(intent);
return true;
}
});
view.setTag(viewHolder);
viewHolder.text.setTag(list.get(position));
if(list.get(position).getKorb()==1){
viewHolder.text.setBackgroundDrawable(getResources().getDrawable(R.drawable.strike_out));
}else{
viewHolder.text.setBackgroundDrawable(null);
}
} else {
view = convertView;
}
ViewHolder holder = (ViewHolder) view.getTag();
holder.text.setText(list.get(position).getZutat());
holder.text.setTypeface(mFontNormal);
return view;
}
}
Viele Grüße
Butch
[/LEFT]
Zuletzt bearbeitet: