布局中有个按钮id是btnOpen
在MainActivity.java文件中有以下语句
Button btnOpen=(Button)findViewById(R.id.btnOpen);
btnOpen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
DisplayToast("You have Clicked the Open button");
}
});
运行时,logcat中信息似乎是报setOnClickListener这句空指针错误,这几个语句有问题吗?我是完全照教材敲的?请高手指教
------解决方案--------------------
这个问题很简单Fragment需要一个布局,Activity也需要一个布局,在新版的ADT中给你生成的不只是Activity,还有Fragment因此会有两个布局。Fragment这个东西跟Activity有点像他有他自己的生命周期跟布局,这玩意在平板开发中用得比较多,在现在手机开发中用得也比较多。
------解决方案--------------------
这。。。
你就没弄明白fragment怎么用、干什么用,百度下fragment用法吧!
------解决方案--------------------
现在你有两个布局文件:
activity_main.xml 和 fragment_main.xml.
在MainActivity.java中执行Button btnOpen=(Button)findViewById(R.id.btnOpen) 这肯定btnOpen为null,因为此时findViewById是在activity_main.xml文件中找的,当然不存在。
应改为:
在PlaceholderFragment.java文件的onCreateView() 方法中 执行如下:
Button btnOpen=(Button)rootView.findViewById(R.id.btnOpen);
btnOpen.setOnClickListener(new View.OnClickListener(){
....
});
这样做findViewById是在rootView中找的。
找了下,src目录下只有MainActivity.java文件,没有PlaceholderFragment.java,请问这文件在哪个目录下呢
com.example.study.MainActivity.java中的静态内部类PlaceholderFragment