如何从Android中的Fragment调用ArrayAdapter构造函数

时间:2013-06-14 08:14:49

标签: java android listview android-arrayadapter

我正在尝试将两列ListView添加到我的Android应用程序中。当我创建项目时,我选择了Fragment选项,它通过向左和向右滑动创建了漂亮的导航。因此,MainActivity扩展了FragmentActivity

我的问题是当我尝试将AddayAdapter添加到ListView时,ArrayAdapter的construstor会查找上下文对象,我不知道要传递它。

这是我收到错误的代码

StableArrayAdapter adapter = new StableArrayAdapter(this, R.layout.row , list);
listview.setAdapter(adapter);

当我传递“this”时,它会传递FragmentActivity,因为该活动扩展了FragmentActivity。但是构造函数需要一个“Context”对象。

它提供了此错误消息

"The constructor MainActivity.StableArrayAdapter(MainActivity.DummySectionFragment, int, ArrayList<String>) is undefined"

如何传递Context对象?

2 个答案:

答案 0 :(得分:6)

您正在片段中设置适配器。使用

StableArrayAdapter adapter = new StableArrayAdapter(this.getActivity(), R.layout.row , list);

答案 1 :(得分:1)

StableArrayAdapter adapter = new StableArrayAdapter(getContext(), R.layout.row , list);
listview.setAdapter(adapter);

你有没有尝试从你的片段传递这样的东西。尝试getContext()getApplicationContext()