-1

Ich möchte Daten von einem CardView bekommen.android - So erhalten Sie Daten von einer Kartenansicht

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

Ich habe 3 Parameter,

  1. Tittle
  2. Beschreibung
  3. und Art, die ich nicht zeigen möchte, weiß ich möchte nur später, welche Art es ist und was zu tun ist dann.

Dies ist, wie ich die Werte in der Kartenansicht einstellen:

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

Aber ich bin mir nicht sicher, wie die Daten einmal angezeigt zu bekommen.

Wie kann ich den Wert von Typ auf meinem Adapter bekommen?

+0

Sie _have_ die Daten. Es ist in 'mDataset' enthalten. – CzarMatt

+0

Dank eigentlich war es ziemlich einfach, ich rufe nur die getText() -Methode in meine MyViewHolder-Klasse und das war's. jetzt ist die dinge ist, wie kann ich eine variable in meine karte, ich meine, ich will es nicht in meine XML. Wie kann ich es bekommen? – JosCarrillo

+0

Wenn Sie das Objekt einfach aus Ihrem Dataset entfernen möchten, das der Position der Ansicht entspricht, können Sie die Ansichtsposition, z. B. bei onClick, aus dem Adapter herausholen und dann das Objekt aus dem Dataset herausziehen Position. – CzarMatt

Antwort

0

Sie können die Daten als Teil von ViewHolder hinzufügen und die Daten vom ViewHolder abrufen. Um ViewHolder für eine Ansicht zu erhalten, können Sie die Methode getTag() für diese Ansicht aufrufen.

Hier ist ein Beispiel:

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(); 
} 
Verwandte Themen