之前一直搞C++, 初学安卓,很多东西不习惯。
Eclipse目前学到的特点:
1. Eclipse自动编译的,你每写一行代码都会构建,然后你点“运行”或者“调试”就会自动生成apk,。。。用了8年vs的人表示很不习惯。。。
2. Eclipse快捷键: Ctrl+alt+b打断点, F5跳入执行,F6单步执行,F8继续执行,除非碰到新断点。
今天遇到的错误,原本就是准备写一个demo,一个界面里面有个button,然后给button的click相应里做一些处理。
结果写好后也可以编译,生成apk,但就是在加载模拟器时报如下这个错:(程序运行不起来)
网上多方百度后,有个提示null指针,于是在OnCreate里打了断点.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); ----------》这句是主要原因,由于自动生成了两个布局文件:activity_main.xml, fragment_main.xml,而我的button在fragment_main.xml里。所以,没有找到该button控件。
Button btn = (Button)findViewById(R.id.submit);
btn.setOnClickListener( new OnClickListener() ---------》 btn = null; findviewById没有找到。
{
@Override
public void onClick(View v)
{
if(null == mBluToo)
mBluToo = btFunc.getInstance();
}
});
//Todo:
}
=========================
综上,找到原因就好解决了:
方法1: 把button控件写在 activity_main.xml里,
方法2: setContentView(R.layout.activity_main)====》setContentview(R.layout.fragment_main);
总结:出现该问题的原因,我是参考《深入浅出android》参考书来学安卓的,结果这本书比较老了,写这个书时,一般的工程都只有一个xml布局文件,而我的Eclipse版本较新,自动生成的工程有2个布局文件。所以....过期书害人啊。。。