我有一个谷歌眼镜应用程序。它通过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发布,通过语音命令启动它,一切正常。
答案 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);
...
...
...