2017-05-20 2 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를 제공하는 대신 컨텍스트를 사용해 볼 수 있습니까? 이것을 시도하십시오.

public MediaStoreAdapter(Context activity) 

제대로 작동해야한다고 생각합니다.

+0

작동하지 않습니다. / – Kevin

관련 문제