Android:简单的GridView,在网格中显示文本

时间:2009-06-11 17:11:35

标签: java android

我正在关于GridView的android教程中的示例,但不是显示图像,我想简单地使用TextView显示一些文本。结果似乎比我想象的更难。看起来这似乎是完全没必要的,它没有一个有效的用例,但我正在尝试这个让自己熟悉sdk。

所以我的代码与http://developer.android.com/guide/tutorials/views/hello-gridview.html中的GridView示例非常相似,但是我没有使用ImageAdapter,而是创建了一个虚拟适配器,如下所示:

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

这对我来说似乎都是有效的,但是运行它在屏幕上没有任何内容。并且没有错误消息。如果单击它们,会有一些可选择/可点击(不可见)的块,但文本显然没有显示。我想知道我的布局没有android:文本导致这个问题?或其他什么?

任何反馈都将不胜感激,感谢您的帮助!

3 个答案:

答案 0 :(得分:9)

我不确定是什么原因导致您的问题。我按照您链接到的页面上的分步说明来设置“Hello,GridView”,并使用您的代码并能够看到文本。

我改变的唯一事情不是为ImageAdapter创建一个类,而是使用了MyAdapter。在活动HelloGridView.java onCreate中,我使用了“MyAdapter”而不是“ImageAdapter”。我根本没有改变布局。

alt text

以下是运行代码时所获得的屏幕截图。

答案 1 :(得分:0)

我看到GridView,所以我几乎假设这与SWT类似?

如果是这样,您需要显示视图与ViewGroup父级之间的关系

答案 2 :(得分:0)

我认为你的getItem实现是正确的。我的头脑应该是

    return texts[position];