片段中的适配器 - android.app.Application 无法转换为 android.app.Activity

adapter in fragment - android.app.Application cannot be cast to android.app.Activity

所以现在我们有

CustomAdapter adapter = new CustomAdapter(getActivity().getApplicationContext(), R.layout.list_style, RowBean_data);
ListView lista = (ListView) rootView.findViewById(R.id.lista);
lista.setAdapter(adapter);

在片段中,我们希望它显示包含项目和文本的列表。

现在我们收到以下代码的错误:http://pastebin.com/BV9X6Dys

另一个类:

CustomAdapter.java http://pastebin.com/eA5Xx1Ng

MainActivity.java pastebin.com/Nv1Zip11

HomeFragment.java pastebin.com/8DiXQHsy

我们怎样才能让它发挥作用?

您正在将 Context 转换为 Activity

错误在这里..

 LayoutInflater inflater = ((Activity)context).getLayoutInflater();

所以解决方案是使用context获取充气服务,像这样

LayoutInflater inflater = (LayoutInflater)context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);

另一种替代方法是像这样

LayoutInflater inflater = LayoutInflater.from(context);

就像@Zharf 说的

编辑

另外我认为将 getActivity() 传递给 CustomAdapter 的构造函数就足够了。

CustomAdapter adapter = new CustomAdapter(getActivity(), R.layout.list_style, RowBean_data);