2014-04-18 2 views
0

Я пытаюсь изменить текст в текстовом окне на внутреннем контроллере sony smartwatch нажатием кнопки. Однако метод TextView.setText() кажется неработоспособным.TextView.setText() не работает на sony smartwatch

Вот мой ControlExtension расширенный класс

class SampleControlSmartWatch2 extends ControlExtension { 

    private static TextView textView = null; 

    SampleControlSmartWatch2(final String hostAppPackageName, final Context context, 
       Handler handler) { 
    //... 

     LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); 

     View layout = inflater.inflate(R.layout.sample_control_2, null); 

     textView = (TextView) layout.findViewById(R.id.textToBeChanged); 
    } 

    //... 

    public void onObjectClick(ControlObjectClickEvent event) { 
     Log.i(TAG, "Before : " + textView.getText().toString()); // It shows "original" 

     textView.setText("changed"); 

     Log.i(TAG, "After : " + textView.getText().toString()); // It shows "changed" 

     textView.invalidate();   // These two methods are added after read 
     textView.requestLayout();  // through several posts but it doesn't work 
    } 
} 

Вошедший текст TextView в LogCat показано, как ожидается, но текст в эмулятор не обновляется. Кто-нибудь знает, как его решить? Спасибо.

ответ

1

Для меня этот код работает:

sendText(R.id.textToBeChanged, "changed"); 
+0

Да, это работает. Вы знаете, как изменить текст в приложении-хозяине? –

+0

Вы имеете в виду запуск обновления элемента управления в приложении на смартфоне из приложения SmartWatch? Я решил это, отправив намерение, которое приложение зарегистрировало. –

+0

Я пытаюсь вызвать кнопку щелчка на приложении smartwatch, а затем изменить текст в приложении на телефоне. –

Смежные вопросы