come chiamare correttamente setListAdapter

Ho cercato come risolvere questo problema un sacco, ma non ho ottenuto alcun risultato. l’unico aiuto di cui ho bisogno è, si prega di dare un’occhiata a questa domanda su stackoverflow e risposta;

ecco la domanda da questo link:

“la mia attività non si estende ListActivity così questa linea genera un errore. setListAdapter(fileList); si suppone per popolare una listview…”

    ArrayAdapter<String> fileList =
            new ArrayAdapter<String>(this, R.layout.row, item);
setListAdapter(fileList);

la risposta a questa domanda è:

Ottenere il riferimento alla vostra ListView utilizzando findViewById(int). Quindi chiamare il metodo ListView.setAdapter(ListAdapter) in quel di riferimento con la scheda di rete come parametro.

ora ecco il mio codice:

ArrayAdapter<String> adapter =
     new ArrayAdapter<String>(this, R.layout.reminder_row, R.id.text1, items);

    setListAdapter(adapter); 

}

considerando il D/A, qualcuno potrebbe per favore spiegare esattamente come faccio a scrivere in modo corretto. Qualsiasi aiuto sarebbe molto apprezzato.

qual è l’errore
Ho un errore su setListAdapter Il metodo setListAdapter(ArrayAdapter<String>) è definito per il tipo di ReminderListActivity
io sono raccomandato per creare metodo setListAdapter(ArrayAdapter<string>) l’ho fatto, e il programma non funziona come dovrebbe. come faccio correttamente correggere questo errore?
Da quello che sto vedendo mi sento che è necessario fare un’implementazione del setListAdapter metodo o forse u dovrebbe essere utilizzando il metodo implementato nella classe base…
Come spiegato nell’esempio ottenere il vostro ListView: ListView myListView = findViewById(int); myListView.setListAdapter(adapter); si Può provare se funziona come previsto…

OriginaleL’autore Luch Filip | 2013-08-04

4 Replies
  1. 15

    Come spiegato nei link e, in questa domanda, commenti, va come questo:

    ArrayAdapter<String> adapter =new ArrayAdapter<String>(this, R.layout.reminder_row, R.id.text1, items);
    ListView lv = (ListView)findViewById(R.id.your_listview_id);
    lv.setAdapter(adapter);

    ListActivity è specializzata Activity che ospita un ListView e ha alcuni metodi di convenienza per l’accesso e la manipolazione. Tuttavia, nulla impedisce di avere un ListView nonListActivity Activity, si perde la comodità di metodi e sarà necessario scrivere il codice più di te, come di sopra.

    Questo ha risolto il mio problema. Grazie per il vostro aiuto.

    OriginaleL’autore laalto

  2. 2

    laalto è giusto, ma è anche possibile estendere ListActivity in attività corrente.

    public class YourListActivityClass extends ListActivity {
        private ArrayAdapter<String> adapter;
    
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.main);
    
            adapter = new ArrayAdapter<String>(this, R.layout.reminder_row, R.id.text1, items);
            setListAdapter(adapter); 
        }
    }

    OriginaleL’autore Ryan Alexander

  3. 2

    possiamo fare listview in AppCompatActivity

    String[] one = {"dsk", "jskj", "ddd", "dld"};
    ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, R.layout.list_row, R.id.list_row_name, one);
    ListView listView = (ListView) findViewById(R.id.listView);
    listView.setAdapter(adapter);

    OriginaleL’autore A.G.THAMAYS

  4. 0

    setListAdapter non è definita perché ReminderListActivity non estendere ListActivity. Quindi, per risolvere questo è necessario estendere ListActivity.

    quindi mi chiedo, come posso fare, visto che il mio codice?

    OriginaleL’autore VM4

Lascia un commento