2014-04-18 65 views
0

我想通過按鈕單擊更改sony smartwatch控件擴展的textView中的文本。但是,TextView.setText()方法似乎不起作用。TextView.setText()不工作在索尼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

你的意思是從智能手錶應用程序觸發智能手機上的應用程序中的控件更新?我通過發送應用程序已註冊的意圖來解決此問題。 –

+0

我想觸發一個按鈕點擊smartwatch應用程序,然後在手機上更改應用程序中的文本。 –

相關問題