您的位置:首页 > 移动开发 > Android开发

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

2012-02-11 15:42 585 查看
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了   ”

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


内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息