Android activity 处理向下滑动作为后退按钮
我正在为谷歌眼镜写一个简单的应用程序。有三个活动分别处理一张静态卡。每张卡都有自己的菜单。现在我在google developer上读到,向下滑动应该像android智能手机上的后退按钮一样工作,即调用堆栈中的最后一个活动。现在我的问题是,这只适用于“启动器”活动Android activity 处理向下滑动作为后退按钮,android-activity,google-glass,google-gdk,Android Activity,Google Glass,Google Gdk,我正在为谷歌眼镜写一个简单的应用程序。有三个活动分别处理一张静态卡。每张卡都有自己的菜单。现在我在google developer上读到,向下滑动应该像android智能手机上的后退按钮一样工作,即调用堆栈中的最后一个活动。现在我的问题是,这只适用于“启动器”活动 ok glass menu->activity\u 1->ok glass menu工作正常,但是 activity\u 1->activity\u 2->activity\u 1没有。 活动3也是如此。但是,如果从活动_3调用了活动
ok glass menu->activity\u 1->ok glass menu
工作正常,但是
activity\u 1->activity\u 2->activity\u 1
没有。
活动3也是如此。但是,如果从活动_3调用了活动_1,向下滑动的行为与预期的一样。(activity\u 3->activity\u 1->activity\u 3
works)
此外,向下滑动可在所有活动的菜单中工作
现在我有几个问题:
onKeyDown
方法中处理还是在onClicklistener
中处理super.onBackPressed
,实现各种类型的侦听器,并在视图上使用setFocusMethod
。
非常感谢您对如何在整个应用程序中保持一致的建议。
提前谢谢
在下面,您可以找到其中一项活动的代码,这三项活动的代码看起来都很相似
public class Test1Activity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
View test1 = new CardBuilder(getBaseContext(), CardBuilder.Layout.CAPTION)
.setText("test1")
.getView();
setContentView(test1);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event)
{
if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
openOptionsMenu();
return true;
}
return false;
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.test1, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId()) {
case R.id.test1_ack:
Intent intent = new Intent(this, Test2Activity.class);
startActivity(intent);
return true;
default:
return super.onOptionsItemSelected(item);
}
}
}
非常感谢您抽出时间回答这个详细问题。不幸的是,我没有时间继续这个项目,最终从零开始创建了一个新项目。这也解决了上述问题。你的回复帮助我理解了Glass应用程序的流程。