2009-06-11 10 views
6

Sto seguendo l'esempio sul tutorial di Android su GridView, ma invece di mostrare l'immagine, voglio semplicemente mostrare del testo usando un TextView. risulta che sembra essere più difficile di quanto pensassi. potrebbe sembrare che questo sia del tutto inutile e non ha un caso d'uso valido, ma sto provando a farlo solo per familiarizzare con il sdk.Android: GridView semplice che visualizza il testo nelle griglie

quindi il mio codice è praticamente la stessa come l'esempio GridView in http://developer.android.com/guide/tutorials/views/hello-gridview.html, ma invece di utilizzare un ImageAdapter, ho creato un adattatore manichino come segue:

public class MyAdapter extends BaseAdapter { 

    private Context context; 
    private String[] texts = {"aaa", "bbb", "ccc", "ddd", "eee", "fff", "eee", "hhh", "iii"}; 

    public MyAdapter(Context context) { 
     this.context = context; 
    } 

    public int getCount() { 
     return 9; 
    } 

    public Object getItem(int position) { 
     return null; 
    } 

    public long getItemId(int position) { 
     return 0; 
    } 

    public View getView(int position, View convertView, ViewGroup parent) { 
     TextView tv; 
     if (convertView == null) { 
      tv = new TextView(context); 
      tv.setLayoutParams(new GridView.LayoutParams(85, 85)); 
     } 
     else { 
      tv = (TextView) convertView; 
     } 

      tv.setText(texts[position]); 
     return tv; 
    } 
} 

tutto sembra valida per me, ma in esecuzione questo non mi dà nulla sullo schermo. e non ci sono messaggi di errore. ci sono alcuni blocchi selezionabili/cliccabili (invisibili) se li clicco, ma il testo è ovvio non mostrato. mi chiedo è il mio layout non ha l'androide: testo che causa questo problema? o qualsiasi altra cosa?

qualsiasi feedback sarà apprezzato e grazie per il vostro aiuto!

risposta

9

Non sono sicuro di quello che potrebbe essere la causa del problema. Ho seguito le istruzioni passo passo nella pagina a cui ti sei collegato per impostare "Ciao, GridView", e ho usato il tuo codice e sono riuscito a vedere il testo.

Le uniche cose che ho cambiato è stato piuttosto che creare una classe per ImageAdapter. Ho usato il tuo MyAdapter. Nell'attività HelloGridView.java onCreate ho usato "MyAdapter" piuttosto che "ImageAdapter". Non ho cambiato il layout.

alt text http://i41.tinypic.com/2rcwkmw.jpg

Ecco uno screenshot di ciò che ottengo quando si esegue il codice.

+0

ahh, grazie per averlo confermato. ho appena riavviato la mia eclissi e in qualche modo funziona ora. – fei

0

Vedo GridView quindi presumo quasi che questo sia simile a SWT?

Se quindi è necessario mostrare la relazione tra la vista e il genitore ViewGroup

0

Non penso che l'implementazione di getItem sia corretta. In cima alla mia testa dovrebbe essere

return texts[position]; 
Problemi correlati