我有一个片段,其中包含几个视图,包括ListView。为了设置listview的adpater,我想我会回收一些我之前在 activity 中编写的旧(工作)代码。活动中的代码看起来像这样:
adapter = new myadapter(
this,
list_of_things,
R.layout.custom_row_view,
new String[] {"label","day","time"},
new int[] {R.id.text1,R.id.text3, R.id.text2}
);
myadapter是我活动类中的一种方法,定义如下......
public class myadapter extends SimpleAdapter {
现在我尝试将相同的myadapter方法放在我的fragment类中并调用
adapter = new myadapter(
this,
list_of_things,
R.layout.custom_row_view,
new String[] {"label","day","time"},
new int[] {R.id.text1,R.id.text3, R.id.text2}
);
但现在我收到编译时错误:
The constructor MyTestFragment.myadapter(MyTestFragment, ArrayList<HashMap<String,String>>, int, String[], int[]) is undefined
我不知道我的错误是否可能是一些小错误 - 或者它是否更为基础,比如不允许片段内的适配器。
答案 0 :(得分:1)
在myadapter中使用getActivity()
代替此
adapter = new myadapter(
getActivity(),
list_of_things,
R.layout.custom_row_view,
new String[] {"label","day","time"},
new int[] {R.id.text1,R.id.text3, R.id.text2}
);
因为myadapter中的this
引用了您的Fragment
,而不是Activity
。