RecyclerView - onClick

  • Antworten:4
  • Bentwortet
Julian G.
  • Forum-Beiträge: 21

07.08.2015, 19:30:23 via Website

Hallo zusammen,

ich möchte ein RecyclerView programmieren, in dem verschiedene Paragraphen einer Satzung dargestellt werden. Beim klicken auf einen Paragraphen sollen weitere Informationen erscheinen. Ist dies möglich? Bzw. wie ist es möglich?

Das ganze soll in etwa wie folgt aussehen:
image

Für eure Bemühungen möchte ich mich im voraus bedanken.

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

07.08.2015, 20:18:17 via App

Ich habe das bei meinem mit dem Listener so gelöst, dass ich in der onBindViewHolder den onClickListener für die Elemente gesetzt habe.

— geändert am 07.08.2015, 20:19:36

Julian G.

Antworten
Julian G.
  • Forum-Beiträge: 21

07.08.2015, 20:56:01 via Website

OK. Hast du vielleicht Beispiel-Code? Danke

Antworten
Gelöschter Account
  • Forum-Beiträge: 2.492

08.08.2015, 10:24:08 via Website

Hab es so. Ob es optimal ist weiß ich nicht, es funktioniert aber.

Im Adapter folgendes (ergänzen/erweitern):

private myOnClickListener mListener;

public RecycleViewAdapter(ArrayList<RecycleViewData> recycleViewDatas, myOnClickListener listener){
    this.mListener = listener;
    this.recycleViewDatas = recycleViewDatas;
}
@Override
    public void onBindViewHolder(RecycleViewAdapter.ViewHolder viewHolder, int paragraph) {
            viewHolder.paragraphen.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    mListener.onClick(v, paragraph);
                }
            });

Ein neues Interface erstellen (neue Klasse):

import android.view.View;

public interface myOnClickListener {
    void onClick(View v, int paragraph);
}

In der MainActivity:

myOnClickListener mListener = new myOnClickListener() {
                @Override
                public void onClick(View v, int paragraph) {
//Your stuff
                }
            };

    mAdapter = new RecycleViewAdapter(dataSet, mListener);//mListener ist oben, DataSet solltest du schon haben.

— geändert am 08.08.2015, 10:24:40

Julian G.

Antworten
Sven R.
  • Forum-Beiträge: 1.904

08.08.2015, 14:48:18 via App

@Lars: So mache ich das auch immer. Ich denke, das ist schon ziemlich optimal.

Wenn dir mein Beitrag gefällt, kannst dich einfach mit dem 👍 "Danke"-Button auf der Website dieses Forums bedanken. 😀

Why Java? - Because I can't C#

Julian G.

Antworten