解决方案 »

  1.   

    package com.example.apple4;import com.example.apple4.R;
    import com.example.apple4.MainActivity.mClik;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 MainActivity extends Activity {
    TextView txt1,txt2,txt3;
    Button bt1,bt2,bt3,bt4;
    EditText edit1,edit2,edit3; @Override
    protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    txt2=(TextView)findViewById(R.id.textView2);
    txt3=(TextView)findViewById(R.id.textView3);
    bt1.setOnClickListener(new mClik());
    bt2.setOnClickListener(new mClik());
    bt3.setOnClickListener(new mClik());
    bt4.setOnClickListener(new mClik());
    bt1 =(Button)findViewById(R.id.button1);
    bt2 =(Button)findViewById(R.id.button2);
    bt3 =(Button)findViewById(R.id.button3);
    bt4 =(Button)findViewById(R.id.button4);
    edit1=(EditText)findViewById(R.id.editText1);
    edit2=(EditText)findViewById(R.id.editText2);
    edit3=(EditText)findViewById(R.id.editText3);
    }
    class mClik implements OnClickListener
    {
    public void onClick(View v)
    {
    if(v==bt1)
    {float str;
    str=Float.parseFloat(edit2.getText().toString())+Float.parseFloat(edit1.getText().toString());
    String s=String.valueOf(str);
    edit3.setText(s);
    }
    if(v==bt2)
    {float str;
    str=Float.parseFloat(edit2.getText().toString())-Float.parseFloat(edit1.getText().toString());
    String s=String.valueOf(str);
    edit3.setText(s);
    }
    if(v==bt3)
    {float str;
    str=Float.parseFloat(edit2.getText().toString())*Float.parseFloat(edit1.getText().toString());
    String s=String.valueOf(str);
    edit3.setText(s);
    }
    if(v==bt4)
    {float str;
    str=Float.parseFloat(edit2.getText().toString())/Float.parseFloat(edit1.getText().toString());
    String s=String.valueOf(str);
    edit3.setText(s);
    }
    }
    } @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;
    }}
      

  2.   

    你的代码 运行后 提示错误如下 :
    11-01 10:32:18.830: E/AndroidRuntime(826): Caused by: java.lang.NullPointerException
    11-01 10:32:18.830: E/AndroidRuntime(826):  at com.example.apple4.MainActivity.onCreate(MainActivity.java:27)
    11-01 10:32:18.830: E/AndroidRuntime(826):  at android.app.Activity.performCreate(Activity.java:5231)
    11-01 10:32:18.830: E/AndroidRuntime(826):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087)
    11-01 10:32:18.830: E/AndroidRuntime(826):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2159)说明27行 有 空指针异常.  仔细看看 
    bt1.setOnClickListener(new mClik());
    bt2.setOnClickListener(new mClik());
    bt3.setOnClickListener(new mClik());
    bt4.setOnClickListener(new mClik());
     这几个 的使用在前 , 但是你在后面才 findviewbyid , 所以 是bt1  --bt4 这几个对象 都是空指针, 把 find 放在前 就好了   最后算不上大牛, 祝学习顺利