我是寫了一個viewpager 有三個頁面 然後在第一個頁面中加入了一個listview 然後在listview中加入一個viewpager 但是每次運行都報錯
java.lang.ClassCastException: android.support.v4.view.ViewPager$LayoutParams cannot be cast to android.widget.AbsListView$LayoutParams
下面是最外層viewpager的第一個頁面中的代碼
public class FragmenrOne extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.listview, container, false); //這個是自己寫的listview
list = (List) view.findViewById(R.id.list);
View view2 = inflater.inflate(R.layout.otherfragment, container, false); //這個是viewpager
viewpager = (ViewPager) view2.findViewById(R.id.otherpager);
madapter=new OtherAdapter(getChildFragmentManager()); //viewpager的Adapter
viewpager.setAdapter(madapter);
list.addHeaderView(view2);
return view;
}
}
當我把listview的代碼去掉 或者把viewpager的代碼去掉 都可以正常顯示出來 就是把viewpager加到listview中後就報錯 這是什麼原因啊 一直沒法解決啊
解決了
把View view2 = inflater.inflate(R.layout.otherfragment, container, false);
換成View headerVeiew = LayoutInflater.from(getActivity()).inflate(R.layout.otherfragment, null);
其它不變 就可以正常運行了 至於什麼原因我也還不太清楚 知道的大神麻煩告訴一下!!