Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> 關於使用ViewPager和LayoutInflater的出現問題

關於使用ViewPager和LayoutInflater的出現問題

編輯:關於Android編程

問題如下:
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?

 

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved