2017-05-20 36 views
0

このチュートリアルの後に、https://www.youtube.com/watch?v=zEkvbCTYun8でOnclicklistenerメソッドを設定します。しかし、このチュートリアルでは、すべてがアクティビティに基づいているため、プロジェクトは機能します。私はフラグメント内のrecyclerviewで作業するようにコードを適合させ、それをonclicklistenerに設定しようとしています。しかし、私がすべてを作ったときに、インターフェイスにアクティビティをキャストしている間に私はエラーを投げます。RecyclerViewアダプタ、アクティビティ内のフラグメント上のOnclickListener

(ビデオから)MainActivityを参照するアダプタを作成するためにオリジナルコード:

mMediaStoreAdapter=new MediaStoreAdapter(this); 

鉱山:

mMediaStoreAdapter=new MediaStoreAdapter(getActivity()); 

コンストラクタとインターフェース:

private OnClickThumbListener mOnClickThumbListener; 

    public interface OnClickThumbListener { 
     void OnClickImage(Uri imageUri); 
    } 

    public MediaStoreAdapter(Activity activity) { 
     this.mActivity = activity; 
     this.mOnClickThumbListener=(OnClickThumbListener)activity; 
    } 

Iドン私が間違っているものを取得していない場合、エラーはキャスト((OnClickThumbListener)アクティビティ)が不可能であることを示しています。おそらくそれは正しいアプローチではないでしょうか、またはコンストラクタのパラメータとしてインターフェイスオブジェクトを追加する必要がありますか?チュートリアルでうまく動作します。誰か私にこれに関する指導をしてください。前もって感謝します!!

答えて

0

あなたのコンストラクタにActivityを与える代わりに、Contextを試すことができますか? これを試してください。

public MediaStoreAdapter(Context activity) 

私はうまくいくと思います。

+0

動作しません。/ – Kevin

関連する問題