将文本发送到列表框项目中的textview

时间:2014-01-15 20:06:00

标签: android sony sony-smartwatch

我使用了Sony SmartWatch 2的图库演示。我创建了多个listitems而没有错误。现在我的问题是,我想点击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。但是我的textview在生成的listItem中。嗯。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

不幸的是,API只允许您更新整个列表项。无法更新列表项中的各个视图。