0

Ich habe RecyclerView List implementiert und immer wenn ich auf etwas in der Liste klicke, stürzt die App ab.RecyclerView OnClick Methode

Hier ist der Code:

public void onBindViewHolder(MyViewHolder holder, final int position) { 
    holder.mTextView.setText(mDataset[position]); 
    holder.mCardView.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      final Intent intent; 
      switch (getAdapterPostion()) { 
       case 0: 
        intent = new Intent(context, TestingActivity.class); 
        break; 

       case 1: 
        intent = new Intent(context, TestingActivity.class); 

        break; 

       case 2: 
        intent = new Intent(context, TestingActivity.class); 
        break; 

       case 3: 
        intent = new Intent(context, TestingActivity.class); 
        break; 

       case 4: 
        intent = new Intent(context, TestingActivity.class); 
        break; 

       case 5: 
        intent = new Intent(context, TestingActivity.class); 
        break; 

       default: 
        intent = new Intent(context, Timeline.class); 
        break; 
      } 
      context.startActivity(intent); 
     } 
    }); 
} 

private int getAdapterPostion() { 
    return 0; 
} 
+3

Post Fehlerprotokoll. – Pavan

+0

Kleinere Änderungen für Lesbarkeit und Codeformatierung. –

Antwort

0

Verwenden holder.getAdapterPosition() statt. Und setzen Sie den Click-Listener in viewHolder, nicht in BindViewHolder. BindViewHolder ruft jedes Mal auf, wenn wir notifyDatasetChanged() aufrufen und auch wenn wir runterscrollen. Es beeinflusst die Leistung der App. Lassen Sie mich für jede Frage wissen. Alles Gute.

+0

Hallo Krunal Kapadiya, Vielen Dank für Ihre sehr schnelle Antwort. Um ehrlich zu sein, versuche ich eine RecyclerView-Liste zu implementieren, die neue Aktivitäten beim Klick öffnen kann. Ich denke, mein ganzer Code ist falsch. Kannst du mir helfen, wie ich das machen kann? Ich benutze NavigationDrawer, die bestimmte Fragmente beim Klicken aufruft (erstes, zweites und drittes Fragment). Im ersten Fragment möchte ich diese RecyclerView-Liste erstellen, die andere Aktivitäten aufruft. Es war fünfter Tag Ich suche ein gutes Tutorial, aber ohne Ergebnisse. Kann ich das bitte mit Ihnen besprechen? – Martin95y

Verwandte Themen