allora ho modificato mettendo una checkedTextView nella listView.In particolare gli xml sono
codice:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/riga_lista_poi"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<CheckedTextView
android:id="@+id/checkedTextView1"
android:layout_width="fill_parent"
android:layout_height="30dp"
android:gravity="center"
android:checkMark="@drawable/checkoff"/>
</LinearLayout>
codice:
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ListView
android:id="@+id/listView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbars="vertical">
</ListView>
</AbsoluteLayout>
questo è l'activity per la gestione
codice:
package progetto.gruppo0506;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.CheckedTextView;
import android.widget.ListAdapter;
import android.widget.ListView;
public class VisualizzaPoiActivity extends Activity {
private ListView list1;
private ListAdapter adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.visualizza_poi);
String[] poi=new String[]{"1","2"};
list1=(ListView)this.findViewById(R.id.listView1);
list1.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
adapter=new ArrayAdapter<String>(this,R.layout.riga_lista_poi,R.id.checkedTextView1, poi);
list1.setAdapter(adapter);
list1.setOnItemClickListener(new AdapterView.OnItemClickListener(){
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
CheckedTextView check=(CheckedTextView)findViewById(R.id.checkedTextView1);
if(!check.isChecked())
{
check.toggle();
check.setTextColor(-16711936);
check.setCheckMarkDrawable(R.drawable.check);
}
else
{
check.toggle();
check.setTextColor(-1);
check.setCheckMarkDrawable(R.drawable.checkoff);
}
}
});
}
}
Il problema è la ricezione di un click preciso,tipo clicco su 8 e diventa verde la 10
Mettendo solo due elementi clicco su uno e diventa verde 2,riclicco su uno e diventa verde 1,riclicco e torna bianco 2 e poi lo stesso su uno