您好下,
Android 4(ICS)提供了一个名为ActionBar的视图元素。使用ActionBar,我创建了一个搜索小部件,我可以输入文本来触发远程建议搜索。如果单击此ActionBar中的放大镜图标以打开搜索小部件文本字段,则会发生两件事:
如果您点击"向上按钮"搜索小部件折叠,以便文本字段消失。在同一时刻"向上按钮"将其功能更改为充当"主页按钮"。此行为描述了"默认"带有附加搜索小部件的Android 4 ActionBar的行为。
使用硬件"后退按钮"而不是软"向上按钮",键盘消失,但搜索小部件保持打开状态。还有"向上按钮"不会更改为"主页按钮"。
我的问题: 如何触发"向上按钮"以编程方式在ActionBar中单击?如果我能做到这一点,我可以折叠搜索小部件文本字段并放回"向上按钮"成为"主页按钮"再次,如果用户按下硬件"后退按钮"。
此示例显示"主页按钮"在最左边和一个封闭的搜索小部件"放大镜图标"在右边。如果用户单击放大镜,则显示文本字段并显示"主页按钮"成为一个"向上按钮"。
提前致谢!
答案 0 :(得分:2)
我认为可以有一个解决方案。正如文档所说,
要在用户按下应用程序图标时向上导航,您可以使用NavUtils类的静态方法navigateUpFromSameTask()。
所以你可以手动调用
NavUtils.navigateUpFromSameTask(this);
用于以编程方式执行主页按钮。
答案 1 :(得分:0)
我已经搜索了网络和SO,并且找不到以编程方式触发的任何方法。 我最后只是重新创建了使视图切换回主视图所需的位和片段,同时将操作栏恢复为正常状态并将其放在公共方法中,以便其他类可以使视图回家。
答案 2 :(得分:-1)
您可以通过performClick()
上的View
以编程方式触发任意视图。
请参阅performClick()
文档。