Google Glass setText()无效

时间:2014-04-10 23:45:19

标签: android textview google-glass

我有一个谷歌眼镜应用程序。它通过BT从移动设备接收数据(但这不重要),在我的应用程序中,调用处理程序以显示在玻璃UI上接收数据。我在玻璃上使用活动。

private final Handler mHandler = new Handler(Looper.getMainLooper()) 
{
@Override
public void handleMessage(Message msg) 
{
    switch(msg.what)
    {
    case 1:
        if(msg.arg2 == 1)
        {
            Toast.makeText(getApplicationContext(), "got argument 1", Toast.LENGTH_LONG).show();
            mMyTextView.setText("got argument 1");

        }
        else if(msg.arg2 == 2)
        {
            Toast.makeText(getApplicationContext(), "got argument 2", Toast.LENGTH_LONG).show();
            mMyTextView.setText("got argument 2");

        }
        break;
    default:
        // don't care about other cases, only case 1 is important
    }
}

};

mMyTextView是我活动中的一个成员变量我填写onCreate(),在我的处理程序中填写它并没有什么区别。

一旦我将我的应用程序从Eclipse推送到玻璃并运行它,它就可以正常工作。现在在玻璃上我向下滑动,我不会处理这个滑动事件,因此onGesture返回完全错误。以防万一。

现在我正在使用#34; ok glass"屏幕和通过语音命令我启动我的应用程序。吐司按照应有的方式显示,但文本视图不再更新。在我的处理程序中有断点我可以看到所有内容都正确填充,textView不为null,它在textView的成员变量中显示正确的文本。正确的文字不会出现在用户界面上。再次从Eclipse发布,通过语音命令启动它,一切正常。

1 个答案:

答案 0 :(得分:1)

我在从互联网上下载示例时遇到此问题,我忘了在onCreate()方法中添加TextView对.xml布局的引用;

private TextView mMyTextView;

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mMyTextView = (TextView)findViewById(R.id.mMyTextView);
...
...
...