問題如下:
1. ViewPager應該怎麼配?(仿的功能引導頁)
* 需要一個布局,布局裡面有android.support.v4.view.ViewPager,還有幾個代表點(用XML實現drawable,目的是切換不同顏色的點)的ImageView
* 需要自訂配接器繼承PagerAdapter,實現getCount, isViewFromObject, destroyItem, instantiateItem這幾個方法,傳入的是List<View> pageViews
* Activity裡面定義並擷取List<View>(裝page view,每個page都是一個XML布局,需要用LayoutInflater來擷取), List<ImageView>(裝dot view),擷取ViewPager,執行個體化Adapter,viewPager.setAdapter,viewPager.setOnPageChangeListener(這個要在onPageSelected實現改變點顏色的功能)
2. LayoutInflater明明沒有用錯,XML也沒錯,為什麼還報android.view.InflateException: Binary XML file line #8: Error inflating class的錯誤呢?
報錯的地方是這裡:
[java]
private List<View> getViews(){
LayoutInflater inflater = this.getLayoutInflater();//反射
List<View> views = new ArrayList<View>();
View view1 = inflater.inflate(R.layout.intro_page_one, null);//這裡報錯
views.add(view1);
View view2 = inflater.inflate(R.layout.intro_page_two, null);
views.add(view2);
return views;
}
private List<View> getViews(){
LayoutInflater inflater = this.getLayoutInflater();//反射
List<View> views = new ArrayList<View>();
View view1 = inflater.inflate(R.layout.intro_page_one, null);//這裡報錯
views.add(view1);
View view2 = inflater.inflate(R.layout.intro_page_two, null);
views.add(view2);
return views;
}用了三種方法擷取LayoutInflater,結果還是一樣 #擷取LayoutInflater三種方式#
其實,後面還有報OutOfMemoryError,怎麼可能!我就換了幾張圖(原來的圖都是700K,換30K的圖),結果顯示正常!!!!
調用這個反射,是因為要擷取的Layout不是setContentView裡面的那個Layout。
3. 如何?第一次安裝APP的時候,進入歡迎頁面,停頓3秒,進入引導頁,點擊確定,進入APP;
之後啟動APP,進入歡迎頁面,不會進入引導頁,直接進入APP;
在APP的某個按鈕點擊協助,會重啟APP,進入歡迎頁面,進入引導頁,進入APP?