2014-03-05 69 views
3

我试图创建一个GDK一个简单的谷歌眼镜应用。我有 即开始语音命令的活动。之后,你可以谈论你所搜索的内容,可以说你搜索“足球”。Android - 语音搜索应用程序?

这项活动(或浸入式指南告诉我它在Google Glass上被调用)的作用是在返回JSON数据的API中进行搜索。然后,我想分析这些数据,并以可以滚动的一堆静态卡的形式将结果呈现给用户。

所有这些都在工作,但我觉得GDK限制了静态卡片,我无法从一开始就设置应用程序中的图像以外的图像。我很想能够拥有自定义布局的静态卡片。这是甚至可能的方式,我现在正在做呢?

这里的人告诉我,它可以完成,但我真的不知道如何。由于我在Google Glass页面遇到的所有文档都是不能完成的。

我还希望功能将这些静态卡绑定在一起,并将它们固定到时间轴上,这样您就不需要再次搜索相同的东西。

有人可以帮我弄清楚,如果我甚至在正确的轨道上,或者如果这是不可能在这个时候与GDK。

非常感谢 乔金 -

回答

3

使用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; 
} 

因此,所有你需要做的:

  1. 检查,如果getItem在您Adapter

  2. 使用惰性加载的图像来实现(如果远程图像,它看起来像它会)

  3. 创建mycardlayout.xml文件中/layout文件夹,其必须包含一个TextField id为textImageView与ID image

+0

我alrady有一个CardScrollAdapter和一个getView函数。它所做的一切现在的问题是: 公共查看getView(INT位置,查看convertView,ViewGroup以及母公司){ \t \t \t回mCards.get(位置)。查看(); \t \t} 不幸的是,我是一个真正的n00b在做Android应用程序。你有什么样的例子吗? – Jokez80

+0

我也猜测我需要某种扩展卡的CustomCard类来设置我想要添加到布局的数据,对吧? – Jokez80

+0

谢谢!这工作出色! 现在我只想把这些卡片捆绑起来放在时间轴上。那可能吗? – Jokez80