Новое в Android: динамически меняющиеся представления - PullRequest
3 голосов
/ 18 июня 2010

Я пытаюсь научиться создавать приложения для Android.

Первое простое приложение, которое станет компонентом более крупного приложения, которое я надеюсь построить, - это наличие кнопки на экране, где при нажатии она добавляет что-то новое в представление.

Например:

Представьте себе макет, который имеет только кнопку:

[Create!]

Когда эта кнопка нажата, к представлению добавляется новая строка:

[Create!]
A Something!

При последующих нажатиях добавляется больше строк

[Create!]
A Something!
A Something!

и т. Д.

Я сделал LinearLayout, поместил в него кнопку и прикрепил к ней прослушиватель щелчков. Это все прекрасно работает. Чего я не могу понять, так это как получить дескриптор LinearLayout в функции onClick, с помощью которого я добавлю () новый TextView с надписью «A Something!»

Я на правильном пути? Какую базовую вещь мне не хватает? Спасибо!

Ответы [ 2 ]

1 голос
/ 18 июня 2010

Я думаю, что вы подходите к этому неправильно. Вы должны посмотреть на ListView и SimpleArrayAdapter. Это поместит элементы в формат списка, с которым пользователи будут лучше знакомы. У Google есть несколько хороших примеров, которые используют это (как их пример Блокнота). Особенно, если вы новичок в Android, вы должны посмотреть на их демонстрации, чтобы разобраться с основами. Вы можете найти их здесь

0 голосов
/ 18 июня 2010

Это по памяти, поэтому может быть не совсем верно.

В вашем макете вы хотите указать идентификатор LinearLayout.

< LinearLayout
XMLNS: андроид = "http://schemas.android.com/apk/res/android"
андроида: ID = "@ + идентификатор / namehere"
...>

Тогда в вашем коде вы будете использовать findViewById , чтобы получить ссылку на него.

LinearLayout ll = (LinearLayout) findViewById (R.id.namehere);

ll.addView (...);

...