Android 将上下文传递给MediaCursorAdapter类
我在活动中创建了片段,片段需要调用Android 将上下文传递给MediaCursorAdapter类,android,android-fragments,android-activity,android-context,android-cursoradapter,Android,Android Fragments,Android Activity,Android Context,Android Cursoradapter,我在活动中创建了片段,片段需要调用MediaCursorAdapter类(扩展SimpleCursorAdapter)以在listview中显示歌曲。但是我很难用上下文调用它的构造函数 我尝试了许多stackoverflow解决方案,比如getActivity, getActivity().getBaseContext(), getActivity().getApplicationContext(),getActivity.getParent(), this,MainActivity.this和
MediaCursorAdapter
类(扩展SimpleCursorAdapter
)以在listview中显示歌曲。但是我很难用上下文调用它的构造函数
我尝试了许多stackoverflow解决方案,比如getActivity
,
getActivity().getBaseContext()
,
getActivity().getApplicationContext()
,getActivity.getParent()
,
this
,MainActivity.this
和MainActivity.class
但没有任何内容是
成功了
下面是我调用MediaCursorAdapter的构造函数的一行代码:
mediaAdapter = new MediaCursorAdapter(this, R.layout.songlist_listitem, cursor);
这是我的MediaCursorAdapter
类:
public class MediaCursorAdapter extends SimpleCursorAdapter {
String backgroundColor = "white";
String someOtherBackgroundColor = "#FAFAFA";
TextView title,name,duration;
public MediaCursorAdapter(Context context, int layout, Cursor c) {
super(context, layout, c,
new String[]{MediaStore.MediaColumns.DISPLAY_NAME, MediaStore.MediaColumns.TITLE, MediaStore.Audio.AudioColumns.DURATION, MediaStore.Audio.Media.ALBUM_ID},
new int[]{R.id.displayname, R.id.title, R.id.duration, R.id.iv_art});
}
}
请记住,所有这些代码都在我的片段中
定义:但是什么都不起作用,例如getActivity()
我写getActivity()
时不明白,然后它会给我错误不兼容的类型。请提供导入部分,以及一个非常基本的Fragment
,比如Android studio生成的BlankFragment试图重现问题,我们可以复制它。同时给出准确的误差。我使用getActivity()
可以很好地工作。实际上,错误是我创建了另一个活动的MediaCursorAdapter对象,并在该活动中使用。但现在它由getActivity()解决。谢谢@Geoffrey