Android проблема вызова TextView из второго файла макета - PullRequest
1 голос
/ 16 июля 2011

Привет, ребята, основной XML-файл макета для моей деятельности - R.layout.date_list_layout, так как он используется следующим образом

 public void onCreate(Bundle savedInstanceState) {
 super.onCreate(savedInstanceState);
 setContentView(R.layout.date_list_layout);

Однако я хочу установить текст в TextView из этого же действия в другом XML-файле макета R.layout.display_item

Я знаю, что обычно использовал бы приведенный ниже код, но это не работает, поскольку текстовое представление R.id.currency отсутствует в главном R.layout.date_list_layout ....

TextView currency = (TextView) findViewById(R.id.currency);
currency.setText(cur);

Я знаю, что следующая строка кода неверна, но есть ли способ написать аналогичную строку кода для доступа к R.id.currency в xml R.layout.display_item или это не может быть сделано?

TextView currency = (TextView) findViewById(R.layout.display_item/R.id.currency);
currency.setText(cur);

Некоторая помощь была бы очень признательна, так как это ошеломило меня последние два дня, и я не могу найти никакого решения онлайн

Ответы [ 4 ]

0 голосов
/ 09 августа 2011

Поскольку Второй TextView является частью другого макета, поэтому мы должны использовать

 setContentView(R.layout.R.layout.display_item);

Так что для второго TextView Измените свой код на

setContentView(R.layout.display_item);

TextView currency = (TextView) findViewById(R.layout.display_item/R.id.currency);

currency.setText(cur);
0 голосов
/ 16 июля 2011

То, что вы делаете, не должно выполняться, если вы не встраиваете макет в текущий макет (макет 1), и в этом случае вам нужно использовать include layout.

В случае, если вы хотите получить доступ к данным и установить их от одного занятия к другому. Используйте SharedPreference для хранения текста в этом действии, и когда запускается другое действие, использующее второй макет в качестве представления содержимого, вы можете использовать этот SP для доступа к данным и установки представления текста.

0 голосов
/ 16 июля 2011

Я думаю, что вы можете решить ваши проблемы с данными Intent.Вы начинаете свою деятельность через Intent, верно?Если это так, просто передайте нужные данные (cur ...) через Intent и все.

0 голосов
/ 16 июля 2011

Для того, чтобы можно было что-то делать в TextView, сначала нужно накачать другой файл макета xml.

(LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE).inflate(R.layout.display_item);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...