首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Android -语音搜索应用?

Android -语音搜索应用?
EN

Stack Overflow用户
提问于 2014-03-05 08:00:14
回答 1查看 206关注 0票数 3

我试图创建一个简单的谷歌眼镜应用程序与GDK。我有一个以语音命令开始的活动。在那之后,你就有机会谈论你想要的东西,比如说你在寻找“足球”。

这个活动(或者像指南告诉我的那样,它在Google上被调用)所做的是在返回JSON数据的API中进行搜索。然后,我想解析这些数据,并以一堆静态卡片的形式将结果呈现给用户,您可以滚动这些卡片。

所有这些都是可行的,但我觉得受到GDK的限制,对于静态卡,除了从一开始就在应用程序中的图像之外,我无法设置其他图像。我希望能有静态卡与自定义布局。就我现在的做法来说,这有可能吗?

这里的人告诉我,这是可以做到的,但我真的想不出怎么做。因为我在谷歌眼镜页面上遇到的所有东西都是那些无法完成的文档。

我也想要的功能捆绑这些静态卡作为一个结果,并将他们钉在时间线,这样你不需要搜索相同的东西两次。

谁能帮我弄清楚我是否在正确的轨道上,或者这是不可能的,在这个时候与GDK。

非常感谢Joakim

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-03-05 10:02:59

使用CardScrollView并在getView函数中创建自己的CardScrollAdapter,您可以从xml文件中膨胀布局并填写所有信息,就像在安卓应用程序中所做的那样。

阅读注释后编辑:在Adapter类中添加

代码语言:javascript
复制
public static class ViewHolder{
    public TextView text;
    public ImageView image;
}

和变化

代码语言:javascript
复制
public View getView(int position, View convertView, ViewGroup parent) {
     return mCards.get(position).toView();
}

转到

代码语言:javascript
复制
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;
}

所以你要做的就是:

  1. 检查getItem是否在Adapter中实现
  2. 对图像使用lazyloading (如果远程图像看起来将是这样)
  3. mycardlayout.xml文件夹中创建/layout文件,其中必须包含id textTextField和id imageImageView
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22191851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档