Autore Topic: Problema selezione riga di una ListView di CheckedTextView  (Letto 652 volte)

Offline lucacali87

  • Nuovo arrivato
  • *
  • Post: 37
  • Respect: 0
    • Mostra profilo
  • Dispositivo Android:
    lg dual
  • Sistema operativo:
    windows seven
Problema selezione riga di una ListView di CheckedTextView
« il: 06 Dicembre 2011, 20:46:56 CET »
0
Salve a tutti,ho un problemino con un pezzo di codice sviluppato in eclipse.
Vorrei visualizzare una lista di poi(per il test uso una stringa normale di numeri)e fare in modo di selezionare solo quelli di interesse.
Il problema è che non riesco a selezionare le righe,mi seleziona sempre la prima è l'ultima nella seguente sequenza:
seleziona la 10,ulteriore click seleziona la 1,ancora click deseleziona la 10 e con un altro click deseleziona la 1.
Il codice è il seguente:

Codice (XML): [Seleziona]
<?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): [Seleziona]
<?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>


l'activity invece:

Codice: [Seleziona]
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","3","4","5","6","7","8","9","10"};
            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);
                       }
                }
               
        });
        }

}