angepasste Listenansicht mit Arrayadapter-Klasse in Android

Wie wähle ich ein Zeilenelement mit einem Häkchen wie "iPhone in Android" aus? Wenn ich auf das Listenzeilenelement klicke, zeige ich das Bild in der Zeilenbildansicht an.

if(getItem(position)!=null){
img.setvisibilty(View.Visible);}        
else{System.out.println("imagenull");}

Ich verwende dies, aber nur die Bildanzeige in der letzten Zeile. Bitte helfen Sie mir bei der Auswahl eines Elements mithilfe eines Häkchenbilds.

public class DistanceArrayAdapter extends ArrayAdapter<Constant>{
public static String category,state,miles;
public ImageView img;
private Context context;
private int current = -1;
ArrayList<Constant> dataObject;

public DistanceArrayAdapter(Context context, int textViewResourceId,
ArrayList<Constant> dataObject) {
super(context, textViewResourceId, dataObject);
this.context=context;
}
@Override
public View getView(final int position, View convertView, ViewGroup parent) {
View rowView=convertView;
if(rowView==null){
LayoutInflater inflater = (LayoutInflater) context
            .getSystemService(Context.LAYOUT_INFLATER_SERVICE);

rowView = inflater.inflate(R.layout.category_row, parent, false);

}
    //TextView textView = (TextView) rowView.findViewById(R.id.text1);
TextView textView1 = (TextView) rowView.findViewById(R.id.text2);
    //textView.setText(""+getItem(position).id);
textView1.setText(""+getItem(position).caption);
img=(ImageView)rowView.findViewById(R.id.img);
img.setVisibility(View.GONE);
if(position%2==1)
{
rowView.setBackgroundResource(R.color.even_list);
}
else
    {
        rowView.setBackgroundResource(R.color.odd_list);
    }

rowView.setOnClickListener (neuer OnClickListener () {

        @Override
        public void onClick(View v) {

            if(img.getVisibility()==View.GONE)
            {
                img.setVisibility(View.VISIBLE);
                System.out.println("1");
            }
if(img.getVisibility()==View.VISIBLE){
img.setVisibility(View.GONE);
System.out.println("12");
}

miles=getItem(position).caption;
System.out.println("miles"+miles);
}
});
return rowView;
}
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage