android简易计算机报错

06-15 08:29:09.091: D/AndroidRuntime(7978): Shutting down VM
06-15 08:29:09.091: W/dalvikvm(7978): threadid=1: thread exiting with uncaught exception (group=0x40015560)
06-15 08:29:09.102: E/AndroidRuntime(7978): FATAL EXCEPTION: main
06-15 08:29:09.102: E/AndroidRuntime(7978): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.example.calculater/com.example.calculater.MainActivity}: java.lang.NullPointerException
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1569)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1663)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.ActivityThread.access$1500(ActivityThread.java:117)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:931)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.os.Handler.dispatchMessage(Handler.java:99)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.os.Looper.loop(Looper.java:123)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.ActivityThread.main(ActivityThread.java:3683)
06-15 08:29:09.102: E/AndroidRuntime(7978): at java.lang.reflect.Method.invokeNative(Native Method)
06-15 08:29:09.102: E/AndroidRuntime(7978): at java.lang.reflect.Method.invoke(Method.java:507)
06-15 08:29:09.102: E/AndroidRuntime(7978): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839)
06-15 08:29:09.102: E/AndroidRuntime(7978): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597)
06-15 08:29:09.102: E/AndroidRuntime(7978): at dalvik.system.NativeStart.main(Native Method)
06-15 08:29:09.102: E/AndroidRuntime(7978): Caused by: java.lang.NullPointerException
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.Activity.findViewById(Activity.java:1647)
06-15 08:29:09.102: E/AndroidRuntime(7978): at com.example.calculater.MainActivity.<init>(MainActivity.java:12)
06-15 08:29:09.102: E/AndroidRuntime(7978): at java.lang.Class.newInstanceImpl(Native Method)
06-15 08:29:09.102: E/AndroidRuntime(7978): at java.lang.Class.newInstance(Class.java:1409)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
06-15 08:29:09.102: E/AndroidRuntime(7978): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1561)

06-15 08:29:09.102: E/AndroidRuntime(7978): ... 11 more


解决办法:

将Button类的控件在oncreat里new就好了。

package tw.android; import android.os.Bundle; import android.app.Activity; import android.view.Menu; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class Main extends Activity { private class BtnListener implements OnClickListener { @Override public void onClick(View v) { // TODO Auto-generated method stub String h = Float.toString(Float.parseFloat(edtxt1.getText().toString()) +Float.parseFloat(edtxt2.getText().toString())); String l = Float.toString(Float.parseFloat(edtxt1.getText().toString()) -Float.parseFloat(edtxt2.getText().toString())); switch(v.getId()) { case R.id.button1: txtview.setText("+"); txt5.setText("你使用了加法"); break; case R.id.button2: txtview.setText("-"); txt5.setText("你使用了減法"); break; case R.id.button3: { if (txtview.getText()=="+") txtresult.setText("兩數相加="+h); if (txtview.getText()=="-") txtresult.setText("兩數相減="+l); break; } } } } private EditText edtxt1; private EditText edtxt2; private TextView txtview; private TextView txtresult; private TextView txt5; private Button btnplus; private Button btnminus; private Button btnequal; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); getViews(); setListeners(); } private void setListeners() { BtnListener btnListener = new BtnListener(); btnplus.setOnClickListener(btnListener ); btnminus.setOnClickListener(btnListener ); btnequal.setOnClickListener(btnListener); } private void getViews() { edtxt1 = (EditText)findViewById(R.id.editText1); edtxt2 = (EditText)findViewById(R.id.editText2); txtresult = (TextView)findViewById(R.id.textView4); txtview = (TextView)findViewById(R.id.textView2); txt5 = (TextView)findViewById(R.id.textView5); btnplus = (Button)findViewById(R.id.button1); btnminus = (Button)findViewById(R.id.button2); btnequal = (Button)findViewById(R.id.button3); } @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getMenuInflater().inflate(R.menu.main, menu); return true; } }
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。 1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md或论文文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。 5、资源来自互联网采集,如有侵权,私聊博主删除。 6、可私信博主看论文后选择购买源代码。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值