2009-06-11 11 views
6

Ich folge dem Beispiel auf dem Android-Tutorial über das GridView, aber anstatt Bild anzuzeigen, möchte ich einfach Text mit einem TextView anzeigen. Es stellt sich heraus, dass es härter zu sein scheint, als ich dachte. Es scheint, als wäre das völlig unnötig und es hat keinen gültigen Anwendungsfall, aber ich versuche es, um mich mit dem SDK vertraut zu machen.Android: Einfaches GridView, das Text in den Rastern anzeigt

so ist mein Code so ziemlich das gleiche wie das Gridview-Beispiel in http://developer.android.com/guide/tutorials/views/hello-gridview.html, sondern eine ImageAdapter zu verwenden, habe ich einen Dummy-Adapter wie folgt:

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; 
    } 
} 

es mir gültig scheint, aber läuft Das gibt mir nichts auf dem Bildschirm. und es gibt keine Fehlermeldung. Es gibt einige auswählbare/klickbare (unsichtbare) Blöcke, wenn ich sie anklicke, aber der Text ist offensichtlich nicht gezeigt. Ich frage mich, ist mein Layout nicht das Android: Text verursacht dieses Problem? oder irgendetwas anderes?

jedes Feedback wird geschätzt und danke für Ihre Hilfe!

Antwort

9

Ich bin nicht sicher, zu zeigen, was Ihr Problem verursachen könnte. Ich folgte den Schritt-für-Schritt-Anweisungen auf der Seite, die Sie verlinkt haben, um "Hello, GridView" einzurichten, und verwendete Ihren Code und konnte den Text sehen.

Die einzigen Dinge, die ich geändert habe, war eher als eine Klasse für ImageAdapter zu erstellen. Ich habe Ihren MyAdapter verwendet. In der Aktivität HelloGridView.java onCreate habe ich "MyAdapter" anstelle von "ImageAdapter" verwendet. Ich habe das Layout überhaupt nicht geändert.

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

Hier ist ein Screenshot von dem, was ich bekomme, wenn der Code ausgeführt wird.

+0

ahh, danke für die Bestätigung dieser. Ich starte gerade meine Eclipse neu und irgendwie funktioniert es jetzt. – fei

0

Ich sehe GridView, also nehme ich fast an, dass dies ähnlich zu SWT ist?

Wenn ja, brauchen Sie die Beziehung zwischen Ihrer Sicht und den Viewgroup Eltern

0

Ich glaube nicht, dass Ihre GetItem-Implementierung korrekt ist. Oberseite meines Kopfes sollte es sein

return texts[position]; 
Verwandte Themen