Autore Topic: ListView create con codice java senza file.xml  (Letto 675 volte)

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
ListView create con codice java senza file.xml
« il: 05 Dicembre 2011, 23:43:32 CET »
0
C'è un modo per poter creare una listview dal nulla? cioè senza creare un file.xml usando solo codice java, mi ricordo di avere letto qualcosa del genere ma non ricordo dove.
Mi serve per poter creare tante listview la quale numero non è mai lo stesso.
 

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:ListView create con codice java senza file.xml
« Risposta #1 il: 06 Dicembre 2011, 00:24:00 CET »
+1
Basta leggere la documentazione, guarda caso esiste la classe ListView  ;-)

ListView | Android Developers
adb logcat | tee /tmp/logcat | grep TAG

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
Re:ListView create con codice java senza file.xml
« Risposta #2 il: 06 Dicembre 2011, 11:07:12 CET »
0
Ho seguito questo esempio : http://informaticoonline.it/100-android-listview-come-creare-una-listview-in-android/
Però non riesco a ottenere più di una list view , cioè ottengo sempre l'ultima.
Codice (Java): [Seleziona]
import android.app.ListActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
import android.widget.TextView;;
 
public class EsempioListView extends ListActivity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
 
        String[] paesi = getResources().getStringArray(R.array.paesi);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.riga_lista, paesi));
       
        ListView listaV = getListView();
 
    //Abilita il filtro per trovare un elemento digitando le prime lettere
        listaV.setTextFilterEnabled(true);
     
       
       
        String[] paesi2 = getResources().getStringArray(R.array.paesi2);
        setListAdapter(new ArrayAdapter<String>(this, R.layout.riga_lista, paesi2));
       
       
        ListView listaV2 = getListView();
    //Abilita il filtro per trovare un elemento digitando le prime lettere
       
        listaV2.setTextFilterEnabled(true);
       
       

        listaV.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // Quando cliccato visualizza un Toast col nome della città selezionata
                Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            }
          });
        listaV2.setOnItemClickListener(new OnItemClickListener() {
            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
                // Quando cliccato visualizza un Toast col nome della città selezionata
                Toast.makeText(getApplicationContext(), ((TextView) view).getText(), Toast.LENGTH_SHORT).show();
            }
          });
    }
}

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:ListView create con codice java senza file.xml
« Risposta #3 il: 06 Dicembre 2011, 11:54:38 CET »
0
Però non riesco a ottenere più di una list view , cioè ottengo sempre l'ultima.

Per forza sei dentro ad una ListActivity e chiami DUE volte setListAdapter. In una ListActivity ci può essere un solo ListAdapter impostato da setListAdapter il quale elimina, se già impostato, il precedente.

Dipende cosa vuoi fare, per avere due ListView attive separate puoi usare un TabActivity al posto di ListActivity ma ci possono essere moltre altre soluzioni.
adb logcat | tee /tmp/logcat | grep TAG

Offline DarkPhoinix

  • Utente junior
  • **
  • Post: 133
  • Respect: +1
    • Mostra profilo
  • Dispositivo Android:
    HTC HD2 & Samsung Galaxy SII
  • Sistema operativo:
    LNX
Re:ListView create con codice java senza file.xml
« Risposta #4 il: 06 Dicembre 2011, 11:57:10 CET »
0
Dipende cosa vuoi fare, per avere due ListView attive separate puoi usare un TabActivity al posto di ListActivity ma ci possono essere moltre altre soluzioni.

Praticamente vorrei per ogni tot. righe di un cursor creare una listview.

Offline iceweasel

  • Moderatore globale
  • Utente senior
  • *****
  • Post: 878
  • Respect: +147
    • Mostra profilo
  • Dispositivo Android:
    LGE P990 - Google Nexus 5
  • Sistema operativo:
    Linux Debian Sid
Re:ListView create con codice java senza file.xml
« Risposta #5 il: 06 Dicembre 2011, 13:59:56 CET »
0
Puoi provare a metterle le due ListView in un LinearLayout o TableLayout qualcos'altro che erediti da ViewGroup.
adb logcat | tee /tmp/logcat | grep TAG