2017-06-12 17 views
0

私はRecyclerView Listを実装しました。リスト内の何かをクリックすると、アプリケーションがクラッシュします。RecyclerView OnClickメソッド

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

エラーログ。 – Pavan

+0

読みやすさとコードの書式設定を微調整します。 –

答えて

0

利用holder.getAdapterPosition()の代わりに:

は、ここでは、コードです。 BindViewHolderではなくviewHolderにクリックリスナーを配置してください。 BindViewHolderは、私たちが呼び出すたびにnotifyDatasetChanged()を呼び出し、またスクロールダウンするときに呼び出します。それはアプリのパフォーマンスに影響します。質問があれば教えてください。ではごきげんよう。

+0

こんにちはKrunal Kapadiya、 あなたの非常に迅速な答えに感謝します。正直言って、私はRecyclerView Listを実装しようとしています。これは、クリックで新しいアクティビティを開くことができます。私のコード全体が間違っていると思う。どうすればいいのか教えてください。私はNavigationDrawerを使用して、特定のフラグメントをクリックすると(第1、第2、第3のフラグメント)First FragmentでこのRecyclerView Listを作成して別のアクティビティを呼び出すことができます。私は良いチュートリアルを探していますが、結果はありませんでした。私はあなたとこれを相談してもよろしいですか? – Martin95y

関連する問題