程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 更多編程語言 >> 編程解疑 >> java-關於listvi中加入viewpager 求大神看下代碼

java-關於listvi中加入viewpager 求大神看下代碼

編輯:編程解疑
關於listvi中加入viewpager 求大神看下代碼

我是寫了一個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);
其它不變 就可以正常運行了 至於什麼原因我也還不太清楚 知道的大神麻煩告訴一下!!

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved