片段中的适配器 - 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);
所以现在我们有
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);