Я использовал демонстрацию галереи для Sony SmartWatch 2. Я создаю несколько списков без ошибок. Теперь мой вопрос, я хочу нажать на listItem, чтобы установить textview с новым текстом.Отправить текст в текстовое представление в элементе списка
создать несколько 3 элемента с:
ControlListItem item = new ControlListItem();
item.layoutReference = R.id.gallery;
item.dataXmlLayout = R.layout.item_gallery;
item.listItemId = position;
item.listItemPosition = position;
// Label data
Bundle labelBundle = new Bundle();
labelBundle.putInt(Control.Intents.EXTRA_LAYOUT_REFERENCE, R.id.title);
labelBundle.putString(Control.Intents.EXTRA_TEXT, mGalleryContent.get(position).getName());
// Body data
Bundle bodyBundle = new Bundle();
bodyBundle.putInt(Control.Intents.EXTRA_LAYOUT_REFERENCE, R.id.body);
String url = "test";
bodyBundle.putString(Control.Intents.EXTRA_TEXT, url);
// Image data
Bundle imageBundle = new Bundle();
imageBundle.putInt(Control.Intents.EXTRA_LAYOUT_REFERENCE, R.id.imageView1);
imageBundle.putString(Control.Intents.EXTRA_DATA_URI, mGalleryContent.get(position).getSymbol());
item.layoutData = new Bundle[3];
item.layoutData[0] = labelBundle;
item.layoutData[1] = imageBundle;
item.layoutData[2] = bodyBundle;
return item;
Теперь я нажал на 2 секунды ListItem в галерее, а затем я хочу установить организму новую строку. Я проверил с чем-то вроде этого:
public void onListItemClick(final ControlListItem listItem, final int clickType, final int itemLayoutReference) {
Intent intent = new Intent(Control.Intents.CONTROL_SEND_TEXT_INTENT);
intent.putExtra(Control.Intents.EXTRA_LAYOUT_REFERENCE, listItem.layoutReference);
intent.putExtra(Control.Intents.EXTRA_TEXT, "bla bla");
sendToHostApp(intent);
Ошибка и не имеет эффекта. Textview не изменяется. Я пробовал с sendText (R.id.body, «Hello»). То же самое не влияет. Я думаю, мне нужен правильный LayoutID. Но мое текстовое представление находится в созданном элементе listItem. Хм. Может кто-нибудь мне помочь?
где именно находится код "textView.setText()"? это список? предположим, что это из метода onListItemClick где его адаптер? –
in onListItemНажмите, где вы поместите текст в текстовое окно? –
Да, он находится в onListItemClick. Существует сгенерированный listItem, а в элементе listItem это текстовое представление, которое называется телом. – christof