Sony SmartWatch 2에 갤러리 데모를 사용했습니다. 오류없이 여러 listitem을 만듭니다. 이제 내 질문에 listItem을 클릭하고 싶습니다. 새 텍스트가있는 textview를 설정하십시오. 목록 상자 항목의 텍스트 뷰로 텍스트 보내기
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를 클릭 한 후 내가 몸에게 새 문자열을 설정하려면 :
나는 여러 3 항목을 만들 수 있습니다. 나는 다음과 같이 테스트했다.
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);
오류가없고 효과가 없다. 텍스트 뷰는 변경되지 않습니다. sendText (R.id.body, "Hello")도 시도했습니다. 같은 효과가 없습니다. 올바른 LayoutID가 필요하다고 생각합니다. 하지만 내 textview 생성 된 listItem에 있습니다. 흠. 누구든지 나를 도울 수 있습니까?
여기서 "textView.setText()"의 실제 코드는 무엇입니까? 이게리스트 뷰인가요? 그것을 메서드에서 온 것으로 가정합니다 어댑터는 어디에 있습니까? onListItemClick의 –
어디 텍스트를 textview에 넣으시겠습니까? –
예, onListItemClick에 있습니다. 생성 된 listItem이 있고 listItem에 텍스트 뷰가 있습니다. 이름은 body입니다. – christof