setContentView给出了一个例外

时间:2010-05-19 05:13:06

标签: android exception focus state

在我的Android应用程序中,我设置了

this.getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,                                 WindowManager.LayoutParams.FLAG_FULLSCREEN); 然后我的触摸屏事件不再起作用了。

进一步解释,

我有一个按钮,onClick它通过setContentView(R.layout.choose_player);更改contentView。 它工作正常。但是如果你通过轨迹球将焦点转移到按钮上(使其变黄)并点击它,它会给出异常。

java.lang.IllegalArgumentException:参数必须是此视图的后代

public void onCreate(Bundle savedInstanceState) { 
  super.onCreate(savedInstanceState); 
  requestWindowFeature(Window.FEATURE_NO_TITLE);     
  this.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
                           WindowManager.LayoutParams.FLAG_FULLSCREEN);         
  setContentView(R.layout.main1);    
} 

public void onClick(View v) {    
  setContentView(R.layout.main2); 
}

2 个答案:

答案 0 :(得分:2)

我先不能正确理解。我想你可能多次使用setContentView方法。一种是在视图上设置布局。 click事件中的另一个。对?那不行。使用该方法一次来设置布局。在click事件上,您必须在布局内的视图上执行任务。希望能帮助到你。请发布一些代码片段以获得完美的答案。

答案 1 :(得分:0)

你在'onCreate'方法中只使用一次setContentView,一般用于主窗口(一个Activity = 1视图)

在你的情况下你应该改变你的背景..