[英]Android - Voice search app?
我正在尝试使用GDK创建一个简单的Google Glass应用程序。 我有一个以语音命令启动的活动。 在那之后你就有可能谈论你搜索的内容,让我们说你搜索“足球”。
这项活动(或指南中的沉浸式告诉我在Google Glass上调用它)的作用是在返回JSON数据的API中进行搜索。 然后我想解析这些数据,并以一堆可以滚动的静态卡的形式将结果呈现给用户。
所有这一切都有效,但我觉得受GDK限制,对于静态卡,我无法从一开始就设置应用程序中的图像以外的图像。 我希望能够拥有自定义布局的静态卡。 这是我现在正在做的方式吗?
这里的人告诉我它可以做到,但我真的无法弄清楚如何做到。 由于我在Google Glass页面上遇到的所有内容都是文件,因此无法完成。
我还希望功能将这些静态卡捆绑在一起,并将它们固定到时间轴,这样您就不需要两次搜索同一个东西。
有人可以帮我弄清楚我是否在正确的轨道上,或者目前GDK是不可能的。
非常感谢Joakim
使用CardScrollView
并在getView
函数中创建自己的CardScrollAdapter
,从xml文件中扩展布局并填写所有信息,就像在Android应用程序中一样。
阅读注释后编辑:在Adapter
类中添加
public static class ViewHolder{
public TextView text;
public ImageView image;
}
并改变
public View getView(int position, View convertView, ViewGroup parent) {
return mCards.get(position).toView();
}
成
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder;
if(convertView==null) {
convertView = inflater.inflate(R.layout.mycardlayout, null);
holder = new ViewHolder();
holder.text = (TextView) vi.findViewById(R.id.text);
holder.image=(ImageView)vi.findViewById(R.id.image);
convertView.setTag( holder );
} else holder = (ViewHolder) convertView.getTag();
myObject = getItem(position); //HERE YOU SHOULD MAKE SURE MYOBJECT IS THE CORRECT OBJECT
holder.text.setText(myObject.getName());
lazyLoad(holder.image, myObject.getImageUrl()); //USE LAZY LOADING LIBRARY
return convertView;
}
所以你要做的就是:
检查Adapter
是否实现了getItem
对图像使用延迟加载(如果是远程图像,看起来会像这样)
在/layout
文件夹中创建mycardlayout.xml
文件,该文件必须包含带有id text
的TextField
和带有id image
的ImageView
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.