本文共 2985 字,大约阅读时间需要 9 分钟。
在一个简单的例子中添加菜单, 然后执行操作。
例子: 第一个页面实现输入两个变量, 然后相乘, 第二个页面通过接收数据来显示计算结果。
第一个activity:
package com.joe;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; import android.widget.EditText; import android.widget.TextView; public class Kong_jianActivity extends Activity { /** * 1. 在activity当中, 要声明四个控件 * 2. 为其中的两个控件设置显示的值 * 3. 创建一个监听器, 监听按钮按下的动作 * 4. 将监听器的对象绑定到按钮对象上 */ private EditText factorOne ; private EditText factorTwo ; private TextView symbol ; private Button calculate ; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); //根据控件的id来取得代表控件的对象 factorOne = (EditText) findViewById(R.id.factorOne) ; factorTwo = (EditText) findViewById(R.id.factorTwo) ; symbol = (TextView) findViewById(R.id.symbol) ; calculate = (Button) findViewById(R.id.calculate) ; //为symbol 和 calculate 设置要显示的值, 有两种方法 //symbol.setText("乘以") ; symbol.setText(R.string.smybol) ; calculate.setText(R.string.calculate) ; //将 监听器的对象绑定到按钮对象上 calculate.setOnClickListener(new CalculateListener()) ; } //添加menu菜单 public boolean onCreateOptionsMenu(Menu menu) { // TODO Auto-generated method stub menu.add(0, 1, 1, R.string.exit) ; menu.add(0, 2, 2, R.string.about) ; return super.onCreateOptionsMenu(menu); } //当点击menu选项所执行的操作 @Override public boolean onOptionsItemSelected(MenuItem item) { // TODO Auto-generated method stub if(item.getItemId() == 1){ finish() ; } return super.onOptionsItemSelected(item); } //添加监听器 class CalculateListener implements OnClickListener{ @Override public void onClick(View v) { //取得两个EditText控件的值 String factorOneStr = factorOne.getText().toString() ; String factorTwoStr = factorTwo.getText().toString() ; //将这两个值放在intent对象当中 Intent intent = new Intent() ; intent.putExtra("one", factorOneStr) ; intent.putExtra("two", factorTwoStr) ; intent.setClass(Kong_jianActivity.this, ResultActivity.class) ; Kong_jianActivity.this.startActivity(intent) ; } } }第二个acti:
package com.joe;
import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; /** * 1. 接收传送的数值 * 2. 计算两个值的积 * 3. 将计算的结果显示在当前的activity */ public class ResultActivity extends Activity { private TextView resultView ; @Override protected void onCreate(Bundle savedInstanceState) { // TODO Auto-generated method stub super.onCreate(savedInstanceState); setContentView(R.layout.result) ; resultView = (TextView) findViewById(R.id.result) ; //得到intent对象的值 Intent intent = getIntent() ; String factorOneStr = intent.getStringExtra("one") ; String factorTwoStr = intent.getStringExtra("two") ; int factorOneInt = Integer.parseInt(factorOneStr) ; int factorTwoInt = Integer.parseInt(factorTwoStr) ; //计算两个值的积 int result = factorOneInt * factorTwoInt ; resultView.setText(result + "") ; //此处添加空字符后 会自动吧result转换为字符型 } }转载地址:http://nzjci.baihongyu.com/