【问题标题】:How do you update a Glass CardScrollView programatically in XE16 (KitKat)?如何在 XE16 (KitKat) 中以编程方式更新 Glass Card ScrollView?
【发布时间】:2014-04-18 02:29:15
【问题描述】:

如何在 XE16 (KitKat) 中以编程方式更新 Glass CardScrollView?

我有一个 CardScrollView 显示来自 url 的照片的卡片。我在后台线程中从 url 下载照片,然后我想“刷新”或更新 CardScrollView 以使卡片显示新图像。

我在打电话:

cardScrollView.updateViews(true);

在 XE12 中,但在 XE16/KitKat 中不推荐使用该操作。那么如何在后台下载图像,然后用该图像更新显示的“卡片”?只是调用 card.addImage() 似乎添加了一个空白图像并且不显示图像。

我已将后台线程的调用更新为:

cardScrollView.getAdapter().notifyDataSetChanged();

这是卡片滚动适配器的代码

私有类 SpecialCardsScrollAdapter 扩展 CardScrollAdapter { @覆盖 公共 int getPosition(对象项){ 返回 specialCardsList.indexOf(item); } @覆盖 公共 int getCount() { 返回 specialCardsList.size(); } @覆盖 公共对象getItem(int位置){ 返回 specialCardsList.get(position); } @覆盖 public View getView(int position, View convertView, ViewGroup parent) { 返回 specialCardsList.get(position).getView(); } }

我是否应该期望调用 cardScrollView.getAdapter().notifyDataSetChanged();会导致卡片已经放入滚动视图以更新他们存储的图像?

【问题讨论】:

    标签: google-glass


    【解决方案1】:

    release notes 中所述,请改用CardScrollAdapter 中的BaseAdapter#notifyDataSetChanged()

    【讨论】:

    • 如何调用该语法?您是否将 cardScrollView 投射到基本适配器?能给个代码示例吗?
    • CardScrollAdapter 扩展了 BaseAdapter 类:从您的适配器调用此方法,而不是您的视图。
    • 好的,即使调用了现有卡片上的图像也不会更新。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    相关资源
    最近更新 更多