Android开发01——控件的使用,四则运算

来源:互联网 发布:网络著名小说作家 编辑:程序博客网 时间:2024/05/22 08:11

Android开发01——控件的使用,四则运算
学习内容:
OnClickListener事件的使用
常用控件的使用

实现效果:




ClickDemoSiZeYunSuanActivity.java代码(main.xml配置文件代码略):

注:
1.编程学习不看代码是不好的。
2.代码忽略各种exceptio
n。

package wml.android.ClickDemoSiZeYunSuan;import android.app.Activity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;import android.view.View.OnClickListener;public class ClickDemoSiZeYunSuanActivity extends Activity {    /** Called when the activity is first created. */private TextView showView=null;//用于显示结果private TextView note=null;//显示各种符号private EditText editNum1=null; private EditText editNum2=null;//四中运算符按钮private Button butAdd=null;private Button butSub=null;private Button butMul=null;private Button butDiv=null;private float num1=0;//保存输入的第一个信息private float num2=0;//保存输入的第二个信息    @Override        public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        super.setContentView(R.layout.main);        this.showView=(TextView)super.findViewById(R.id.mytext);//用于显示“计算结果”        this.editNum1=(EditText)super.findViewById(R.id.myeda);//取得第一个输入内容        this.editNum2=(EditText)super.findViewById(R.id.myedb);     //取得第二个输入内容               this.butAdd=(Button)super.findViewById(R.id.mybutadd);//加        this.butSub=(Button)super.findViewById(R.id.mybutsub);//减        this.butMul=(Button)super.findViewById(R.id.mybutmul);//乘        this.butDiv=(Button)super.findViewById(R.id.mybutdiv);//除                this.note=(TextView)super.findViewById(R.id.note);//中间显示的信息提示                //添加监听器        this.butAdd.setOnClickListener(new AddListener());        this.butSub.setOnClickListener(new SubListener());        this.butMul.setOnClickListener(new MulListener());        this.butDiv.setOnClickListener(new DivListener());            }    private class AddListener implements OnClickListener{    public void onClick(View v){    num1=Integer.parseInt(editNum1.getText().toString());        num2=Integer.parseInt(editNum2.getText().toString());        note.setText(" + ");        showView.setText(String.valueOf(num1+num2));    }    }    private class SubListener implements OnClickListener{    public void onClick(View v){    num1=Integer.parseInt(editNum1.getText().toString());        num2=Integer.parseInt(editNum2.getText().toString());        note.setText(" - ");        showView.setText(String.valueOf(num1-num2));    }    }    private class MulListener implements OnClickListener{    public void onClick(View v){    num1=Integer.parseInt(editNum1.getText().toString());        num2=Integer.parseInt(editNum2.getText().toString());        note.setText(" * ");        showView.setText(String.valueOf(num1*num2));    }    }    private class DivListener implements OnClickListener{    public void onClick(View v){    num1=Integer.parseInt(editNum1.getText().toString());        num2=Integer.parseInt(editNum2.getText().toString());        note.setText("÷ ");        showView.setText(String.valueOf(num1/num2));    }    }}

P.S.:
Eclipse导入包的快捷键:
shift+ctrl+o导入所有没导入的包
shift+ctrl+m导入你鼠标当前所在的地方的未导入的包
系统默认的Content Assist(自动补全)的快捷键是:alt+/,


注:自动导入包时会有失误,如:
import android.view.View.OnClickListener;会误导入import android.content.DialogInterface.OnClickListener;   所以会出错。



优化代码,变为内部类
将:

 this.but.setOnClickListener(new ShowListener();…… private class ShowListener implements OnClickListener{        public void onClick(View v){    String info=ClickProjectActivity.this.edit.getText().toString();    ClickProjectActivity.this.showView.setText("输入的内容是:"+info);    }    }
变为:
this.but.setOnClickListener(new ShowListener(){    public void onClick(View v){    String info=ClickProjectActivity.this.edit.getText().toString();    ClickProjectActivity.this.showView.setText("输入的内容是:"+info);    }        })


设置EditText的大小:很简单,直接layout_width="80px"就行了。。


一种崩溃的解决方案
运行程序时提出了这个一个警告:Activity not started, its current task has been brought to the front ...
“这应该是你的模拟器中还有东西在运行,也就是你要运行的activity已经有一个在模拟器中运行了。
不要以为你的模拟器退出到桌面了就没有东西在跑了。在你调试的时候异常关闭的程序有可能就有activity在运行。
解决方法project->clean。 应该就OK了   ”


自动实现接口的所有方法:也很简单,先写出接口,在左边的“×”出三击即可。



原创粉丝点击