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

时间:2015-09-11 12:40:16

标签: android android-fragments android-adapter

所以现在我们有了

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

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

1 个答案:

答案 0 :(得分:2)

您正在向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);