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

标签 java android

我正在按照 Android 教程中关于 GridView 的示例进行操作,但我不想显示图像,而是想使用 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;
    }
}

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

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

最佳答案

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

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

alt text

这是我在运行您的代码时得到的屏幕截图。

关于java - Android:在网格中显示文本的简单 GridView,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/982386/

相关文章:

java - 创建一个新的wireshark文件并删除某些数据包

java - 解析日期时间字符串中日期的序号指示符 (st, nd, rd, th)

android - 3.2 之前的设备的 smallestScreenWidthDp?

android - 如果用户 3 天不活动,如何发送通知

java - Apache Ignite 中客户端的内存指标

java - 如何将 HTML 文本转换为纯文本?

java - 如何将自定义操作栏布局与 AndroidAnnotations 结合使用?

Android RelativeLayout : How to put a view above another view, 不一定触摸?

android - 我可以在 Android 中创建一个项目并将其用作 future 项目的基本模板吗

java - 删除数组元素后如何将元素向左移动?