2013-05-12 88 views
1

並感謝您的幫助。 我想用ViewAnimator在屏幕上顯示不同的視圖。Android:爲什麼沒有在屏幕上顯示?

所以:

  • 我創建VievAnimator,

  • 我加2次(LinearLayouts在這種情況下),以ViewAnimator,

  • 我設置的setContentView(viewAnimator);

  • 我打電話給viewAnimator.showNext();

但沒有在屏幕上顯示...

public class MainActivity extends Activity { 
public DataBaseHelper db; 
public EditText enter; 
public TextView tv; 
public ArrayList<String> listWord; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    ViewAnimator viewAnimator = new ViewAnimator(this); 

    LayoutInflater inflater = (LayoutInflater)this.getSystemService 
       (Context.LAYOUT_INFLATER_SERVICE); 
    LinearLayout front =(LinearLayout) inflater.inflate(R.layout.front,viewAnimator); 
    LinearLayout back =(LinearLayout) inflater.inflate(R.layout.back,viewAnimator); 

    viewAnimator.addView(front); 
    viewAnimator.addView(back); 

    setContentView(viewAnimator); 
    viewAnimator.showNext(); 

任何幫助,非常感謝!

回答

2

的問題是下面幾行:

LinearLayout front =(LinearLayout) inflater.inflate(R.layout.front,viewAnimator); 
LinearLayout back =(LinearLayout) inflater.inflate(R.layout.back,viewAnimator); 

,因爲當你提供viewAnimator通貨膨脹期間根視圖,則返回相同的根視圖,並在代碼中導致ClassCastException因爲ViewAnimator不能投'編入LinearLayout

供您參考:

公共查看充氣(INT資源,ViewGroup以及根)

參數

資源 ID爲一個XML佈局資源加載(例如, R.layout.main_page)

可選視圖是生成的層次結構的父級。

返回

充氣層次的根查看。如果root提供, 這是根View;否則它是充氣XML文件的根源。

只需提供null作爲根視圖,它工作得很好。例如:

LinearLayout front = (LinearLayout) inflater.inflate(R.layout.front, null); 
LinearLayout back = (LinearLayout) inflater.inflate(R.layout.back, null); 
+0

謝謝,解決了isse! – 2013-05-12 12:42:34

相關問題