打印

请教 代码运用报空指针

请教 代码运用报空指针

Button one;
one = (Button) findViewById(R.id.one);
/**已经注释掉,如果打开程序运行后就报空指针,而在网络上找的代码基本都是这么写的。
//  one.setOnClickListener(this);

(下载的例子有网络连接的,计算器,俄罗斯方块都是这样的)
不知道各位大侠是不是跟我一样????

TOP

靠,终于遇到知音啊,我和楼主的问题完全一样,一用到响应事件就这样.我和几个同学研究之后是BUTTON之类的组件在从R类得到之后即one = (Button) findViewById(R.id.one);
,依旧是NULL.我们通过EMULATOR诊断器得到了这个结论.所以问题就是怎么解决呢.我也是下了各位给出的例子,你们都实现了吗?没出现这个问题吗?请指教啊

TOP

我的代码没问题啊~~

public class ButtonShow extends Activity implements OnClickListener{

        /** Called when the activity is first created. */
        Button button;
        public void onCreate(Bundle icicle) {
            super.onCreate(icicle);
            setContentView(R.layout.button_view);
            
            button = (Button)findViewById(R.id.button);
            
            button.setOnClickListener(this);
            // TODO Auto-generated method stub
        }

        public void onClick(View arg0) {
                // TODO Auto-generated method stub
                button.setText("Seya");
        }

}

TOP

看看你layout中对button的声明,在m5中id属性被改为android:id了。

例如m3中button的声明

<Button id="@+id/button" />

在m5中被改为

<Button android:id="@+id/button" />

还有一些其他的改动,像Manifest.xml文件中一些属性的改动,详细的看看这个文档吧!!

http://code.google.com/android/migrating/m3-to-m5/m5-api-changes.html


best regards

TOP

解决了,谢谢楼上,就是XML问题

TOP

按4楼的说法

已经解决了

谢谢

TOP

还有好多的,我也遇到过。xml文件里面有错误提示的,那样不能编译,无法在R中生成对应的id.

TOP

我也遇到过这种问题,但后来通过对比发现XML改变了,然后问题就解决 了

TOP

终于知道怎么解决了,谢谢分享经验的人

TOP