Autore Topic: listview multipleChoise  (Letto 489 volte)

Offline dragonfly89

  • Nuovo arrivato
  • *
  • Post: 46
  • Respect: +1
    • Mostra profilo
listview multipleChoise
« il: 11 Marzo 2013, 15:52:52 CET »
0
Salve ragazzi..ho un problemino..allora la mia Activity è formata da una listView con un autoCompleteTextView...quindi in alto ho l'autocompleteTextView e sotto quest'ultima la listview...ora,per creare la mia listview in realtà ho adottato un multipleChoise listView ovvero che per ogni riga della listview ho anke il quadratino con la spunta il quale rimane selezionato al click sulla riga...ora, quando l'utente ricerca l'elemento tramite l'autocompleteTextView quest'ultima gli apre il menù a tendina con tutti gli elementi ricercati,l'utente quindi ne clicca uno e quest'ultimo viene visualizzato nelle textView soprastante..quello che vorrei io è che nel momento in cui l'utente clicca su uno dei risultati dell'autocompletetextView allora quell'elemnto nella listview venga selezionato spuntando quindi il quadratino nella riga..e di conseguenza deve essere "riazzerata" la textView dell'autocompletamento....
spero di essere stato chiaro...posto il codice,.

Codice (Java): [Seleziona]
public class Check extends ListActivity implements MatchView {


        Button done;
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
                super.onCreate(savedInstanceState);
                setContentView(R.layout.activity_check);
               
               
                done = (Button)findViewById(R.id.done);

                String selected = getIntent().getExtras().getString("selection");

                AutoCompleteTextView autocomplete = (AutoCompleteTextView) findViewById(R.id.autocomplete);
                autocomplete.setTextColor(Color.BLACK);
                /*
                 * il metodo sottostante permette di settare il numero di lettere inserite nella textview dopo le quali si
                 * deve effettuare la ricerca.
                 */

                autocomplete.setThreshold(2);
                ArrayAdapter<String> adapter2 = new ArrayAdapter<String>(this,android.R.layout.select_dialog_item, competizioni_incontri.get(selected));
                autocomplete.setAdapter(adapter2);

                // The checkbox for the each item is specified by the layout android.R.layout.simple_list_item_multiple_choice
                ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_multiple_choice, competizioni_incontri.get(selected));

                // Getting the reference to the listview object of the layout
                ListView listView = (ListView) findViewById(android.R.id.list);

                // Setting adapter to the listview
                listView.setAdapter(adapter);

                //      CheckBox cb = (CheckBox) findViewById(R.id.chkAndroid);
                //      listView.setChoiceMode(listView.CHOICE_MODE_MULTIPLE);
                listView.setOnItemClickListener(new OnItemClickListener() {

                        @Override
                        public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
                                // TODO Auto-generated method stub
                                String click = ((TextView) view).getText().toString();
                                if(!matchSelected.contains(click)){
                                        matchSelected.add(click);
                                }
                                else{
                                        matchSelected.remove(click);
                                }
                        }
                });
               
                done.setOnClickListener(new View.OnClickListener() {
                       
                        @Override
                        public void onClick(View v) {
                                // TODO Auto-generated method stub
                                Intent i = new Intent(Check.this,ChooseBet.class);
                                startActivity(i);
                        }
                });
        }

        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
                // Inflate the menu; this adds items to the action bar if it is present.
                getMenuInflater().inflate(R.menu.activity_check, menu);
                return true;
        }

}

Codice (XML): [Seleziona]
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
   android:id="@+id/RelativeLayout01"
   android:layout_width="fill_parent"
   android:layout_height="wrap_content"
   android:paddingLeft="10dp"
   android:paddingRight="10dp" >

    <Button
       android:id="@+id/done"
       android:layout_width="wrap_content"
       android:layout_height="wrap_content"
       android:layout_alignParentRight="true"
       android:layout_marginTop="5dp"
       android:text="Done" />

    <AutoCompleteTextView
       android:id="@+id/autocomplete"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:layout_alignParentLeft="true"
       android:layout_marginTop="5dp"
       android:layout_toLeftOf="@id/done"
       android:hint="@string/search" />
   
     <ListView
       android:id="@android:id/list"
       android:layout_width="fill_parent"
       android:layout_height="wrap_content"
       android:choiceMode="multipleChoice"
       android:layout_below="@+id/done"/>


</RelativeLayout>