Android, связывающий более одного xml с файлом класса Java - PullRequest
0 голосов
/ 28 марта 2012

Я реализовал горизонтальный просмотр страницы.Одна базовая страница и три страницы смахивания.Базовая страница связана с файлом класса Java.Но есть действия на страницах смахивания.например: нажатие кнопки.Как мне это сделать?Могу ли я связать страницы свайпа с тем же файлом класса Java?

Ответы [ 3 ]

1 голос
/ 28 марта 2012

Не уверен, что вы имеете в виду ...

1 - Вы ищете способ использовать XML-файл в качестве дочернего элемента в вашем swiper?

Это можно сделать с помощью LayoutInflater

2 - Это уже сделано, но вы не можете узнать, как управлять определенными событиями?

Если вы надули представления с помощью LayoutInflater, вы можете получить доступ к дочерним представлениям Views:

childView.findViewById(R.id.btn1).setOnClickListener(...);

ИЛИ

Вы можете добавить атрибут onClick в xml и реализовать его в своей основной деятельности, например:

xml: onClick="btn1pressed"

java: public void btn1pressed(View v) {}

1 голос
/ 28 марта 2012

См. Мой вопрос / ответ, который имеет почти такой же точный контекст здесь Просто заставьте его отображать один xml, а затем добавьте переключатели, как я сделал там.

1 голос
/ 28 марта 2012

Вы имеете в виду, что у вас есть 3 .xml макета и один класс, который расширяет Activity?

макеты вместе образуют одну страницу? если они это делают, вы можете составить их вместе, используя тег include. вот пост на андроид блоге по теме,

http://android -developers.blogspot.com / 2009/02 / андроид-топологии фокусы-2-повторное использование-layouts.html

другой вариант - использовать фрагменты для составления «подвидов», а затем использовать класс действий, чтобы объединить их в одну страницу. фрагменты позволяют инкапсулировать представление (.xml) и контроллер (обработчики щелчков и т. д.) в одно целое (фрагмент).

http://developer.android.com/guide/topics/fundamentals/fragments.html

если 3 .xml-макета описывают три отдельные страницы, вам нужно выполнить три действия, по одному на каждый макет.

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