Java 无法从editText获取文本

Java 无法从editText获取文本,java,android,xml,Java,Android,Xml,此代码显示logcat中的错误: public class screen2 extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.screen2); fina

此代码显示logcat中的错误:

    public class screen2 extends Activity {

        @Override
        public void onCreate(Bundle savedInstanceState) {

            super.onCreate(savedInstanceState);
            setContentView(R.layout.screen2);

            final Button button1 = (Button)findViewById(R.id.button1);        
            button1.setOnClickListener(new View.OnClickListener() {
                 public void onClick(View v) {

                    //AInteger.parseInt(string)
                    System.out.println("1");
                    EditText et = (EditText)findViewById(R.id.editText1);
                    System.out.println("2");
                    int zipCode =  Integer.parseInt(et.getText().toString());
                    System.out.println("3");
                    System.out.println(zipCode);

                    System.out.println("dude...5");
                 }
            });
        }        
   }
虽然它看起来像一个空指针异常,但我认为我正在做我在论坛上找到的事情。下面是我的相关xml文件的代码。有人能告诉我哪里做错了吗

    11-13 19:58:06.806: W/KeyCharacterMap(281): Using default keymap: /system/usr/keychars/qwerty.kcm.bin
11-13 19:58:09.471: I/System.out(281): 1
11-13 19:58:09.471: I/System.out(281): 2
11-13 19:58:09.477: D/AndroidRuntime(281): Shutting down VM
11-13 19:58:09.477: W/dalvikvm(281): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
11-13 19:58:09.527: E/AndroidRuntime(281): FATAL EXCEPTION: main
11-13 19:58:09.527: E/AndroidRuntime(281): java.lang.NullPointerException
11-13 19:58:09.527: E/AndroidRuntime(281):  at com.example.andtwi.screen2$1.onClick(screen2.java:23)
11-13 19:58:09.527: E/AndroidRuntime(281):  at android.view.View.performClick(View.java:2408)
11-13 19:58:09.527: E/AndroidRuntime(281):  at android.view.View$PerformClick.run(View.java:8816)
11-13 19:58:09.527: E/AndroidRuntime(281):  at android.os.Handler.handleCallback(Handler.java:587)
11-13 19:58:09.527: E/AndroidRuntime(281):  at android.os.Handler.dispatchMessage(Handler.java:92)
11-13 19:58:09.527: E/AndroidRuntime(281):  at android.os.Looper.loop(Looper.java:123)
11-13 19:58:09.527: E/AndroidRuntime(281):  at android.app.ActivityThread.main(ActivityThread.java:4627)
11-13 19:58:09.527: E/AndroidRuntime(281):  at java.lang.reflect.Method.invokeNative(Native Method)
11-13 19:58:09.527: E/AndroidRuntime(281):  at java.lang.reflect.Method.invoke(Method.java:521)
11-13 19:58:09.527: E/AndroidRuntime(281):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
11-13 19:58:09.527: E/AndroidRuntime(281):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
11-13 19:58:09.527: E/AndroidRuntime(281):  at dalvik.system.NativeStart.main(Native Method)

你能把你的
onCreate
方法以及第23行单独发布吗?最可能的问题是您忽略了调用
setContentView
,这就是
findViewById
返回null的原因。

尝试以下方法:

int zipCode =  Integer.parseInt(et.getText().toString());
我认为,您不需要编写
String zipCode=(String)et.getText().toString()按原样返回一个
字符串
对象

希望您不要错过包含
setContentView(R.layout.your\uxml\u文件)按钮
编辑文本
之前,先执行code>

编辑1:

你似乎对我没什么意见

int-zipCode=Integer.parseInt(et.getText().toString())在那里。通过以上代码修改尝试此操作

您可能正在获取null指针异常,因为您将
String s=et.getText().toString()
获取为null。请在将其强制转换为
int
之前检查它是否为null

按钮button1=(按钮)findViewById(R.id.button1)
EditText et=(EditText)findViewById(R.id.editText1)


您验证过et不为空吗?没有。。我没有那样做。我该怎么做呢?问题已经解决了。。。我对调试器没有多少线索。。下次我会试试的。谢谢你清理你的项目。在Eclipse中选择Project->Cleanit worked。。我越来越多地在Eclipse上工作。。。我越来越感到沮丧。。“清理项目内容+模拟器加载时间”。。这是谷歌让Android领先的方式吗?请检查编辑的代码。如果你将打印0,那么你的edittext本身将为空。
int zipCode =  Integer.parseInt(et.getText().toString());
Button button1 = (Button)findViewById(R.id.button1);  
EditText et = (EditText)findViewById(R.id.editText1);

button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                System.out.println("1");                
                System.out.println("2");
                String zipCode = et.getText().toString();
                System.out.println("3");
                System.out.println(zipCode); 
            }
}
button1.setOnClickListener(new View.OnClickListener() {
            public void onClick(View v) {

                System.out.println("1");                
                System.out.println("2");
                String check = et.getText().toString();
                int zipCode=0;
                if(!check.equals(""))
                    zipCode=Integer.parseInt(check);
                System.out.println("3");
                System.out.println(zipCode); 
            }
}