I'd like to change the style of a textview in a list view row when that row is clicked. That text should remain focused until another row is pressed. I am using a subclass of BaseAdapter to build the row's in the list view. Would be great if I could get some help to make this happen.
This is part of my base adapter class.
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
MyHolder holder;
LayoutInflater inflater = context.getLayoutInflater();
if (convertView == null) {
convertView = inflater.inflate(R.layout.street_listrow, null);
holder = new MyHolder();
holder.txtViewStreet= (TextView) convertView
.findViewById(R.id.StreetName);
holder.txtViewArea = (TextView) convertView
.findViewById(R.id.StreetArea);
holder.txtViewDist = (TextView) convertView
.findViewById(R.id.StreetDistance);
holder.ivGo = (ImageView) convertView.findViewById(R.id.StreetGo);
convertView.setTag(holder);
} else {
holder = (MyHolder) convertView.getTag();;
}
holder.txtViewStreet.setText(street.get(position).getStreet());
holder.txtViewArea.setText(street.get(position).getArea());
holder.ivGo.setBackgroundResource(R.drawable.goicon);
int tempDist = Integer.parseInt(street.get(position).getDistance());
if(tempDist>1000){
Double bigDist = (double)tempDist / 1000;
dist = df.format(bigDist) +" km";
}else{
dist = tempDist+" m";
}
holder.txtViewDist.setText(dist);
return convertView;
}
I want txtViewStreet change color to green on the row that's clicked.
Basically:
Row1
Row2
Row3
User press Row 2
Row1
Row2
Row3
User press Row 1
Row1
Row2
Row3