Android 安卓:为什么屏幕上什么都不显示?

Android 安卓:为什么屏幕上什么都不显示?,android,android-linearlayout,viewanimator,Android,Android Linearlayout,Viewanimator,谢谢你的帮助。 我试图使用一个视图动画显示屏幕上的不同视图 因此: 我创造了VievAnimator 我向ViewAnimator添加了2个视图(本例中为LinearLayouts) 我设置setContentView(viewAnimator) 我调用viewAnimator.showNext() 但屏幕上什么也没显示 public class MainActivity extends Activity { public DataBaseHelper db; public EditText

谢谢你的帮助。 我试图使用一个视图动画显示屏幕上的不同视图

因此:

  • 我创造了VievAnimator

  • 我向ViewAnimator添加了2个视图(本例中为LinearLayouts)

  • 我设置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();
公共类MainActivity扩展活动{
公共数据库;
公共编辑文本输入;
公共图文电视;
公共数组列表词;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
ViewAnimator ViewAnimator=新的ViewAnimator(此);
LayoutFlater充气器=(LayoutFlater)this.getSystemService
(上下文、布局、充气机和服务);
LinearLayout front=(LinearLayout)充气器。充气(右布局。front,viewAnimator);
LinearLayout back=(LinearLayout)充气器。充气(R.layout.back,viewAnimator);
viewAnimator.addView(前视图);
viewAnimator.addView(返回);
setContentView(viewAnimator);
viewAnimator.showNext();

非常感谢您的帮助!

问题如下:

LinearLayout front =(LinearLayout) inflater.inflate(R.layout.front,viewAnimator);
LinearLayout back =(LinearLayout) inflater.inflate(R.layout.back,viewAnimator);
因为当您在膨胀期间提供
viewmanimator
作为根视图时,将返回相同的根视图,并且在代码中导致
ClassCastException
,因为
viewmanimator
无法强制转换为
LinearLayout

供参考:

公共视图膨胀(int资源,视图组根)

参数

资源要加载的XML布局资源的ID(例如。, 右布局图(主页面)

root可选视图,作为生成的层次结构的父级

返回

膨胀层次结构的根视图。如果提供了根, 这是根视图;否则它是膨胀XML的根 文件

只需提供null作为根视图,它就可以正常工作。例如:

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