【问题标题】:android - How to get data from a card viewandroid - 如何从卡片视图中获取数据
【发布时间】:2017-07-26 21:18:17
【问题描述】:

我想从CardView 获取数据。

myData.add(new Archivos("Tittle", "Description", 0));

我有3个参数,

  1. 标题
  2. 说明
  3. 还有我不想展示的Type,我只是想稍后知道它是哪种类型以及接下来要做什么。

这就是我将值设置到卡片视图中的方式:

@Override
public void onBindViewHolder(MyViewHolder holder, int position) {
    holder.mTextView.setText(mDataset.get(position).titulo);
    holder.mTextView2.setText(mDataset.get(position).descripcion);
}

但我不确定,如何获取数据一次显示。

如何获取Adapter 上的类型值?

【问题讨论】:

  • 拥有数据。它包含在mDataset
  • 谢谢,实际上这很简单,我只需将 getText() 方法调用到 MyViewHolder 类中就可以了。现在的事情是,我怎样才能在我的卡中设置一个变量,我的意思是,我不想把它放到我的 XML 中。我怎样才能得到它?
  • 如果您只是想从数据集中取出与视图位置相对应的对象,您可以获取视图位置,例如当 onClick 发生时,从适配器中取出,然后将使用该位置将对象从数据集中移出。

标签: java android android-fragments android-recyclerview android-cardview


【解决方案1】:

您可以将数据添加为 ViewHolder 的一部分,并从 ViewHolder 中获取数据。要获取视图的 ViewHolder,您可以在该视图上调用 getTag() 方法。

这是一个示例:

class MyViewHolder extends RecyclerView.ViewHolder {
    private MyData myData;
    // more fields here

    MyViewHolder(MyData myData) {
        this.myData = myData;
        // more assignments here
    }

    public MyData getMyData() {
        return myData;
    }
}

View view = layoutManager.findViewByPosition(whateverPositionYouWant);
if (view != null) {
    final MyViewHolder myViewHolder = (MyViewHolder) view.getTag();
    MyData data = myViewHolder.getMyData();
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-05-16
    • 2018-03-12
    • 1970-01-01
    • 2021-07-04
    相关资源
    最近更新 更多