2017-05-02 11 views

答えて

1

コール(CauseLister)

mAdapter = new MyAdapter(myDataset,CauseListe.this); 
recyclerView.setAdapter(mAdapter); 

変更は、

をローカル変数を作成するのですコンストラクタで

public MyAdapter(Repository myDataset,Activity activity){ 
     mDataset = myDataset; 
     mContext=activity; 
    } 

をそれを得ます

private Context context; 

public MyAdapter(Repository myDataset,Context context){ 
    mDataset = myDataset; 
    this.context=context; 
} 

は最終的にアイテムのコールバックを取得するには、この

holder.txtHeader.setOnClickListener(new View.OnClickListener(){ 
     @Override 
     public void onClick(View v){ 
     ((Activity) context).finish(); 
     } 
    }); 
+0

使用インターフェイスをクリックそんなに仲間の開発者に感謝。これは深刻な頭痛でした。私はCause.Lister.classをアダプター宣言に追加できませんでしたが、それがなければ残りのアドバイスとコードは私の望む効果に合わせてコンパイルされました。私の友人にもう一度ありがとう。簡単な質問ですが、自分自身の質問になる前にこれらの質問に答えることができるように勉強できる情報源は何ですか?あなたはこれらのことをどこで学びますか? APIには非常に多くのクラスがありますが、私はその半分の実装方法を理解していません。 –

+0

のコールバックを取得するために – Aaron

2

活動の

Activity activity; 

変更コンストラクタ

public MyAdapter(Activity activity,Repository myDataset){ 
     mDataset = myDataset; 
     this.activity=activity; 
    } 

アダプタのコールactivity.finish(グローバルオブジェクトを作成します)。 完了したい場所。

0

アダプタクラス 活動mContextでこの

mAdapter = new MyAdapter(myDataset,CauseListe.this); 
    recyclerView.setAdapter(mAdapter); 

そしてを行い、活動クラスからこの をお試しください。

その後adpterコンストラクタ でこの活動から

holder.txtHeader.setOnClickListener(new View.OnClickListener(){ 
      @Override 
      public void onClick(View v){ 
      mContext.finish(); 
      } 
     }); 
関連する問題