0

我有一个片段,其中包含多个视图,包括 ListView。为了设置列表视图的 adpater,我想我会回收一些我之前在活动中编写的旧(工作)代码。活动中的代码如下所示:

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 方法放在我的片段类中并调用

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

我不知道我的错误是否可能是一些小错字 - 或者它是否更基本,例如不允许在片段中使用适配器。

4

1 回答 1

1

getActivity()在 myadapter 中使用而不是 this

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}
            );

因为thisin myadapter 引用的是您的Fragment而不是您的Activity.

于 2013-05-21T15:51:11.353 回答