2014-04-18 3 views
0

버튼 클릭으로 sony smartwatch 컨트롤 확장 프로그램의 textView에서 텍스트를 변경하려고합니다. 그러나 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 
    } 
} 

예상대로 로그 캣에서 텍스트 뷰의 기록 텍스트가 표시됩니다 연장되지만 에뮬레이터의 텍스트가 업데이트되지 않습니다. 누구든지 그것을 해결하는 방법을 알아? 고맙습니다.

답변

1

은 나를 위해이 코드 작동 :

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

예, 그것은 작동합니다. 호스트 응용 프로그램에서 텍스트를 변경하는 방법을 알고 있습니까? –

+0

SmartWatch 앱의 스마트 폰에있는 앱의 컨트롤을 업데이트하는 것을 의미합니까? 나는 앱이 등록한 의도를 보내서이 문제를 해결했다. –

+0

smartwatch 앱에서 버튼을 클릭 한 다음 휴대 전화에서 앱의 텍스트를 변경하려고합니다. –