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

**

任何要在布局发生的事情,获得控件、改变控件属性等,都要在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的宽度先改变然后才能显示整个布局,不然这个布局不就要刷新两遍吗?
后来发现==一直都是错的。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值