Hi everyone,
I am trying 4 days to solve this problem. I am trying to create the
following feature:
I have a ListView that the user can select an item. When the user selects
the item the text will turn to pink. The ListView shows 6 items at once.
You have to scroll to see other 6 and go on.
But there is a problem:
When i scroll the ListView the item No8, No15,... are pink too!
Any help, ideas (even if you think you are wrong) are welcomed. I am
freaking out more and more every day.
Thanks a lot for your time spent reading my issue!
Here is the code inside for my adapter:
////////////////////////////////////////////////
public class MyListAdapter extends ArrayAdapter<String> {
private Context ctx;
private String[] values;
private ArrayList<String> mData =new ArrayList<String>();
private ViewHolder holder=null;
private LayoutInflater inflater;
public MyListAdapter(Context context, int textViewResourceId, String[]
values) {
super(context, textViewResourceId, values);
ctx = context;
inflater = (LayoutInflater) ctx
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
this.values = values;
for (int i = 0; i < values.length; i++) {
addItem(values[i]);
}
}
public void addItem(final String item) {
mData.add(item);
notifyDataSetChanged();
}
@Override
public String getItem(int position) {
return mData.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public int getCount() {
// TODO Auto-generated method stub
return mData.size();
}
/* (non-Javadoc)
* @see android.widget.ArrayAdapter#getView(int, android.view.View,
android.view.ViewGroup)
*/
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if(convertView==null){
convertView = inflater.inflate(R.layout.list_item, parent, false);
holder = new ViewHolder();
holder.textView =
(TextView)convertView.findViewById(R.id.item_textView);
convertView.setTag(holder);
}
else{
holder = (ViewHolder)convertView.getTag();
}
holder.textView.setText(mData.get(position));
holder.textView.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View view) {
for(int i=0; i<getCount(); i++){
}
((ViewHolder)view.getTag()).textView.setTextColor(ctx.getResources().
getColor(R.color.pink));
}
});
return convertView;
}
public static class ViewHolder {
public TextView textView;
}
}
///////////////////////////////////////
--
You received this message because you are subscribed to the Google
Groups "Android Developers" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en