我正在研究沉浸式GDK应用程序(在XE16上当前),它需要根据调用REST服务器的结果向用户显示一个菜单。
在...中调用HTTP GET [Server]/user_token/friends
并返回一个Friend对象的ArrayList(我们已实现并正常工作)。
是否有一种好的,简单的方法来获取这些对象并向用户显示可通过语音或触摸访问的名称列表?
我见过的所有示例都使用了硬编码菜单和inflater.inflate(...)
。
答案 0 :(得分:0)
我所做的是显示静态菜单,并询问用户(通过语音识别)以获取更多信息,如果他点击菜单中的项目,他正在寻找什么。因此,例如,您在菜单中显示“朋友”,如果用户选择它,您打开语音识别对话框并询问“您想要哪个朋友戳?”。您将得到他的回答,然后可以从您的服务器迭代朋友列表。 (确保在后台线程中执行此操作并同时显示“正在加载”-dialog)
我的项目中的一些示例代码:https://gist.github.com/TomTasche/20ff4802c1002c381f6f
如果显示列表是您的要求,则无效。
答案 1 :(得分:0)
如果您要使用List进行迭代,此代码将起作用:
for (String itemTitle : itemTitles) {
menu.add(Menu.NONE, Menu.FIRST + offset++, Menu.FIRST, itemTitle);
}
那里面是:
public boolean onCreateOptionsMenu(Menu menu)
并取代:
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.basketballscore, menu);
在我在XE16中使用低频实时卡的特定应用中,我的服务将一个以逗号分隔的项目列表作为额外内容发送给MenuActivity。我将该字符串转换为List以进行循环。
如果您需要更多代码,请与我们联系。