Autore Topic: problema visualizzazione listview in realtivelayout  (Letto 499 volte)

Offline gbu123

  • Utente junior
  • **
  • Post: 74
  • Respect: +2
    • Mostra profilo
  • Sistema operativo:
    windows 7
problema visualizzazione listview in realtivelayout
« il: 05 Settembre 2012, 18:12:44 CEST »
0
ciao
non riesco a capire perchè non compare la listview listView2 presente in :
activity_main.xml :

Codice: [Seleziona]
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <TextView
        android:id="@+id/textView1"
        android:layout_width="100dp"
        android:layout_height="wrap_content"
        android:layout_alignLeft="@+id/layout1"
        android:layout_marginTop="10dp"
        android:layout_marginLeft="10dp"
        android:text="prova" />
   
    <LinearLayout
        android:id="@+id/layout1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView1"
        android:layout_marginLeft="0dp"
        android:layout_marginTop="10dp"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button"
            android:text="chiamaParce"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:onClick="chiamaParce"/>

        <Button
            android:id="@+id/button1"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:onClick="lista1"
            android:text="chiama1" />

        <Button
            android:id="@+id/button2"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:onClick="lista2"
            android:text="esegui2" />

        <Button
            android:id="@+id/tabella"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:onClick="tabella"
            android:text="tabella" />

        <Button
            android:id="@+id/galleria"
            android:layout_width="90dp"
            android:layout_height="wrap_content"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="10dp"
            android:onClick="gallerialist"
            android:text="galleria" />
       
    </LinearLayout>

    <LinearLayout
        android:id="@+id/layout2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignTop="@+id/layout1"
        android:layout_marginLeft="37dp"
        android:layout_marginTop="18dp"
        android:layout_toRightOf="@+id/textView1"
        android:orientation="vertical" >

        <ListView
            android:id="@+id/listView2"
            android:layout_width="match_parent"
            android:layout_height="wrap_content" >
        </ListView>
    </LinearLayout>
   
</RelativeLayout>

il codice è quello seguente ,  il metodo che dovrebbe visualizzare è   visualizza :

Codice: [Seleziona]
public class MainActivity extends Activity {

    int i,j;
    private ArrayList<String>  matrice1 = new ArrayList<String>();
    private ArrayList<String>  matrice2 = new ArrayList<String>();
    private ArrayList<String>  matrice3 = new ArrayList<String>();
    private ListView listV1;
    private ListView tasti1;
    private ArrayAdapter listAdapt;
       
    @Override
    public void onCreate(Bundle savedInstanceState) {
      super.onCreate(savedInstanceState);
      setContentView(R.layout.activity_main);
     
    // carica array
      prepara();
     
    // visualizza array
      visualizza();
     
      Button button1 = (Button)findViewById(R.id.button1);
      button1.setOnClickListener(new View.OnClickListener() {
        ecc.
      });

     
      Button tabella = (Button)findViewById(R.id.tabella);

      tabella.setOnClickListener(new View.OnClickListener() {
        ecc.
      });

    }

               

    public void lista2(View v) {
             
        // Find the ListView resource.   
            listV1 = (ListView) findViewById( R.id.listView2 );
           
               // Collegamento con la sorgente dati da visualizzare. 
        listAdapt = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, matrice1); 
           
        // Set the ArrayAdapter as the ListView's adapter. 
        listV1.setAdapter( listAdapt );
                     
    }   


    private void prepara() {
           
        matrice1.add ("a1");
        matrice2.add ("a2");
        matrice3.add ("a3");
        matrice1.add ("b1");
        matrice2.add ("b2");
        matrice3.add ("b3");
        matrice1.add ("c1");
        matrice2.add ("c2");
        matrice3.add ("c3");
        matrice1.add ("d1");
        matrice2.add ("d2");
        matrice3.add ("d3");
        matrice1.add ("e1");
        matrice2.add ("e2");
        matrice3.add ("e3");
        matrice1.add ("f1");
        matrice2.add ("f2");
        matrice3.add ("f3");
        matrice1.add ("g1");
        matrice2.add ("g2");
        matrice3.add ("g3");
        matrice1.add ("h1");
        matrice2.add ("h2");
        matrice3.add ("h3");
        matrice1.add ("i1");
        matrice2.add ("i2");
        matrice3.add ("i3");
        matrice1.add ("l1");
        matrice2.add ("l2");
        matrice3.add ("l3");       
       
    }
   
    // visualizzo subito la listView2 
    private void visualizza() {
        listV1 = (ListView) findViewById(R.id.listView2);
        listAdapt = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, matrice3); 
        listV1.setAdapter(new ArrayAdapter<String>(this,i) );
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        getMenuInflater().inflate(R.menu.activity_main, menu);
        return true;
    }
   
}

per favore capite l'errore ?
grazie

ciao
« Ultima modifica: 05 Settembre 2012, 18:14:39 CEST da gbu123 »

Offline Nicola_D

  • Moderatore
  • Utente storico
  • *****
  • Post: 2479
  • SBAGLIATO!
  • Respect: +323
    • Github
    • Google+
    • nicoladorigatti
    • Mostra profilo
  • Dispositivo Android:
    Nexus 6p, Nexus 4, Nexus S, Nexus 7(2012)
  • Sistema operativo:
    Windows 7
Re:problema visualizzazione listview in realtivelayout
« Risposta #1 il: 05 Settembre 2012, 18:36:20 CEST »
0
wrap_content su una listview da dimensione minima.
Devi usare fill_parent come height
IMPORTANTE:NON RISPONDO A PROBLEMI VIA MESSAGGIO PRIVATO
LOGCAT: Non sai cos'è? -> Android Debug Bridge | Android Developers
               Dov'è in Eclipse? -> Window -> Open Prospective -> DDMS e guarda in basso!
[Obbligatorio] Logcat, questo sconosciuto! (Gruppo AndDev.it LOGTFO) - Android Developers Italia