2011-12-22 43 views
0

对不起,这是一个愚蠢的问题!为什么在调用setContentView之前无法更改按钮的属性?

我在Android上玩了几件事,我正在试验在xml文件中指定的运行时更改元素。

Button buttonSetup = (Button) findViewById(R.id.buttonSetup); 
buttonSetup.setTextSize(40); 

不过,我注意到,这个崩溃的应用程序,如果你做出改变之前的 -

setContentView(R.layout.main); 

,这是什么原因呢? (对不起,如果我错过了一些明显的东西!我认为我的大脑已经进入冬眠冬季了!)

我以为最好的做法是在之前更改元素setContentView,这样如果你改变了很多元素(例如半打左右属性超过六个元素)对于屏幕上的事物变化的用户来说并不明显。

谢谢!

回答

3

简单的答案:

你的XML布局是通过调用setContentView膨胀。 在尚未充值之前,活动并不了解XML。

您可以手动充气视图与此代码:

LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE); 
LinearLayout myLayout = (LinearLayout) inflater.inflate(R.layout.nameOfXML, null); 

后来观与

setContentView(myLayout); 
+0

好设置到这个充气布局...我想,因为按钮都为他们的访问自己的事情(R.layout.buttonSetup)似乎与布局(R.layout.main)无关,他们可以完全独立编辑... – Eilidh 2011-12-22 16:21:30

+0

我有点困惑,对不起:) – Eilidh 2011-12-22 16:21:39

+0

没问题,它对我来说也不容易理解。如果你膨胀的视图比你可以改变你想要的所有东西,而不是像上面显示的那样调用setContentView – Thommy 2011-12-22 16:24:55

相关问题