JavascriptProva

sabato 5 novembre 2016

Nuovo ripasso dell'ArrayAdapter

Devo ripassare ancora ArrayAdapter.
Strano, ma non mi entra assolutamente in testa.

Risposta parziale:
Un ArrayAdapter usa un array di stringhe per porlo in una ListView.
Mi fabbrico un layout da inflatare con una TextView e un button.
Posso giocare a porre la stringa sia come testo della TextView sia come testo del button.
Vediamo se mi riesce...

A parte il context, l'adapter deve prendere come parametri il layout e la view specifica.
E da ultimo l'array da cui prendere gli elementi per metterli nella view specifica.
Ho realizzato un codice usando come view specifica sia la TextView sia il Button.
Con il primo codice:
public class Lista extends AppCompatActivity {

    ArrayAdapter arrayAdapter;
    ArrayList arrayList;
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista);

        arrayList=new ArrayList();
        arrayList.add("lunedi");
        arrayList.add("martedi");
        arrayList.add("mercoledi");

        arrayAdapter=new ArrayAdapter(this,R.layout.row,R.id.textView,arrayList);
        listView=(ListView) findViewById(R.id.listView);

        listView.setAdapter(arrayAdapter);
    }

...
Ho ottenuto questo:



Con questo codice, invece, che prende come view specifica il Button...
public class Lista extends AppCompatActivity {

    ArrayAdapter arrayAdapter;
    ArrayList arrayList;
    ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_lista);

        arrayList=new ArrayList();
        arrayList.add("lunedi");
        arrayList.add("martedi");
        arrayList.add("mercoledi");

        arrayAdapter=new ArrayAdapter(this,R.layout.row,R.id.button2,arrayList);
        listView=(ListView) findViewById(R.id.listView);

        listView.setAdapter(arrayAdapter);
    }

.....
ottengo questo:

Nessun commento:

Posta un commento