【Android每日一讲】2012.10.30 自制计算器 - 多按钮的整合应用

1. 范例说明
在之前我们学会了Android按钮事件的设计,接下来的范例将利用简单的按钮组合制作一个简单的计算器。
这个范例中,除了要活用按钮的组合外,也示范如何利用不同的按钮事件处理与TextView之间的文字变化,尤其是事件彼此不同,连带处理的结果也不同。
2. 运行结果



3. 编写代码
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

mTextView2 = (TextView) findViewById(R.id.mTextView2);
mTextView4 = (TextView) findViewById(R.id.mTextView4);

mButton2 = (Button) findViewById(R.id.mButton2);
mButton3 = (Button) findViewById(R.id.mButton3);
mButton4 = (Button) findViewById(R.id.mButton4);
mButton5 = (Button) findViewById(R.id.mButton5);

mEditText1 = (EditText) findViewById(R.id.mText1);
mEditText2 = (EditText) findViewById(R.id.mText2);


mButton2.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
mTextView2.setText("+");
String strRet = Integer.toString(Integer.parseInt(mEditText1
.getText().toString())
+ Integer.parseInt(mEditText2.getText().toString()));
mTextView4.setText(strRet);

}
});

mButton3.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
mTextView2.setText("-");
String strRet = Integer.toString(Integer.parseInt(mEditText1
.getText().toString())
- Integer.parseInt(mEditText2.getText().toString()));
mTextView4.setText(strRet);

}
});

mButton4.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
mTextView2.setText("*");
String strRet = Integer.toString(Integer.parseInt(mEditText1
.getText().toString())
* Integer.parseInt(mEditText2.getText().toString()));
mTextView4.setText(strRet);

}
});

mButton5.setOnClickListener(new Button.OnClickListener() {
@Override
public void onClick(View v) {
mTextView2.setText("/");
String strRet = Integer.toString(Integer.parseInt(mEditText1
.getText().toString())
/ Integer.parseInt(mEditText2.getText().toString()));
mTextView4.setText(strRet);
}
});

}

4. 扩展学习与作业
作业:使用一个OnClickListener如何实现本Demo中的计算器
视频讲解http://www.eyeandroid.com/thread-9789-1-1.html

猜你喜欢

转载自eyeandroid-com.iteye.com/blog/1708623
今日推荐