我有一个带有自定义适配器的列表视图,它呈现并且工作正常。当我尝试向列表视图添加标题时,应用程序崩溃了。我的标题是一个单独的布局xml文件,它有一个相对布局,左边有一个旋转器,右边有一个。
我给视图充气,操纵微调器添加数据,将其添加到列表视图中,当创建视图时应用程序不再有效,它会崩溃。
Java.lang.ClassCastException:android.widget.FrameLayout $ LayoutParams无法强制转换为android.widget.AbsListView $ LayoutParams。
我正在使用扩展列表片段的片段,而xml布局中只有一个列表。用于添加标头的代码位于onCreateView调用中,
View view = inflater.inflate(R.layout.listview_layout, container, false);
View header = (View)inflater.inflate(R.layout.header_layout, container, false);
Spinner spinner1 = (Spinner)header.findViewById( R.id.spinner1 );
//add pre-defined per page information
ArrayAdapter<CharSequence> adapter = ArrayAdapter.createFromResource(
getActivity(),
R.array.header_layout_spinner1,
android.R.layout.simple_spinner_item
);
adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
spinner1.setAdapter( adapter );
Integer values[] = new Integer[100];
for(int i=1;i<=100;i++)
{
pages[i-1] = i;
}
Spinner spinner2 = (Spinner)header.findViewById(R.id.spinner2);
ArrayAdapter<Integer> adapter2 = new ArrayAdapter<Integer>(getActivity(), android.R.layout.simple_spinner_item, values);
spinner2.setAdapter(adapter2);
//include header in the view
((ListView)view.findViewById(R.id.list)).addHeaderView(header);
答案 0 :(得分:1)
尝试更改行...
View header = (View)inflater.inflate(R.layout.header_layout, container, false);
到
View header = (View)inflater.inflate(R.layout.header_layout, null, false);