Creare una ListView multiple choice in Android

Mattepuffo's logo
Creare una ListView multiple choice in Android

Creare una ListView multiple choice in Android

Android ci mette a disposizione già diverse opzioni per le ListView.

Quindi, se non dobbiamo creare qualcosa di custom, possiamo usare una di quelle "già pronte".

Oggi vediamo come creare una ListView con multiple choice in Java.

Il layout sarà una cosa del genere:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="#0097aa"
    android:orientation="vertical"
    android:padding="20dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:orientation="horizontal">

        <ListView
            android:id="@+id/listview"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:choiceMode="multipleChoice" />
    </LinearLayout>

</LinearLayout>

Come vedete, abbiamo anche impostato questa modalità:

android:choiceMode="multipleChoice"

Questo ci permette di scegliere / selezionare più caselle.

Per quanto riguarda il codice Java:

package com.easytrack.app;

.......

public class SegnalaProblemaActivity extends AppCompatActivity {

    private ListView listView;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.segnalazione_problemi_2);

        ArrayList<String> listaSegn = new ArrayList<>();
		listaSegn.add("Roma");
		listaSegn.add("Barcellona");
		listaSegn.add("New York");

        listView = findViewById(R.id.listview);
        ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_multiple_choice, listaSegn);
        listView.setAdapter(adapter);
    }

}

Abbiamo usato un ArrayList di tipo String.

Enjoy!


Condividi

Commentami!