Android: простой GridView, который отображает текст в сетках - PullRequest
6 голосов
/ 11 июня 2009

Я следую примеру из учебника Android по GridView, но вместо того, чтобы показывать изображение, я просто хочу показать текст с помощью TextView. Оказывается, кажется, сложнее, чем я думал. может показаться, что это совершенно не нужно, и у него нет действительного варианта использования, но я пробую это, чтобы просто ознакомиться с SDK.

, поэтому мой код почти такой же, как пример GridView в http://developer.android.com/guide/tutorials/views/hello-gridview.html,, но вместо использования 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 ]

9 голосов
/ 12 июня 2009

Я не уверен, что может быть причиной вашей проблемы. Я следовал пошаговым инструкциям на странице, на которую вы ссылались, чтобы настроить «Hello, GridView», и использовал ваш код и смог увидеть текст.

Единственное, что я изменил, было то, что я вместо создания класса для ImageAdapter использовал свой MyAdapter. В действии HelloGridView.java onCreate я использовал «MyAdapter», а не «ImageAdapter». Я вообще не менял раскладку.

alt text

Вот скриншот того, что я получаю при запуске вашего кода.

0 голосов
/ 29 июля 2015

Я не думаю, что ваша реализация getItem правильная. Вершина моей головы это должно быть

    return texts[position];
0 голосов
/ 11 июня 2009

Я вижу GridView, так что я почти предполагаю, что это похоже на SWT?

Если это так, вам нужно показать связь между вашим представлением и родительским элементом ViewGroup

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...