您的位置:首页 > 移动开发 > Android开发

Android常见的错误(1)——获得控件导致程序崩溃

2016-04-26 22:15 441 查看
**

任何要在布局发生的事情,获得控件、改变控件属性等,都要在setcontentView下面。

**

1.在Activity类中控件作为私有变量

1.


很多人会觉得这个很正常,这个情况很常见啊,因为Java写class的时候不是可以直接给成员变量赋值的吗?

但是我们需要记住的一点是,所有获得控件的语句都是要在布局里面进行的,意思就是说,所有的findViewById的语句都要在相应的setcontentview语句下面,你可以在前面只是做一个变量声明。

public class MainActivity extends ActionBarActivity {

Button but1=null;
Button but2=null;
Button but3=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
but1 = (Button)findViewById(R.id.button1);
but2 = (Button)findViewById(R.id.button2);
}
//其他省略......
}


2.在SetContentView之前做布局的相关变化,这样也是会导致程序崩溃的,比如说,获取系统时间并且把今天所在的某一个日期长度变宽,是界面可视化更好。

我一开始会觉得要先把Linerlayout的宽度先改变然后才能显示整个布局,不然这个布局不就要刷新两遍吗?

后来发现==一直都是错的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: