使用Glass Scroll Cards演示,我希望能够在点击卡后修改卡片上的文字。我用card.setText(“blah-blah”)做了一些运气,但由于某种原因,在我离开卡片然后滚动回卡片之前,文本设置不起作用。对于CardScrollAdapter,toView方法和setContentView之间的关系,我可能无法理解。任何人都可以提供建议(或可能是一小部分代码)?感谢。
答案 0 :(得分:0)
更改卡上的信息以使其刷新时,您必须通知适配器。例如:
adapter.notifyDataSetChanged()
答案 1 :(得分:0)
在您的活动中,为您的CardScrollView提供一个OnClickListener,如下所示:
mCardScrollView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,
long arg3) {
mCardList.get(arg2).setText("changed");
//must have this next line to see change reflected in glass
mCardScrollAdapter.notifyDataSetChanged();
}
});
请注意,告知适配器您的数据已更新(请参阅代码注释)。
如果您需要更多代码,请告诉我,或者如果您可以提供代码,我可以指出错误。我肯定会看到我的卡片文字随时更改。
一个结束的想法,我发现有点令人困惑的是,在这种情况下,卡点击不能用于为KEYCODE_DPAD_CENTER设置的onKeyDown。在这个意义上的CardScrollViews需要被视为Android中的ListView,如我的代码示例所示。