编译错误在片段中创建适配器

时间:2013-05-21 15:49:50

标签: android

我有一个片段,其中包含几个视图,包括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

我不知道我的错误是否可能是一些小错误 - 或者它是否更为基础,比如不允许片段内的适配器。

1 个答案:

答案 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