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中的计算器