关闭

Android开发之——Menu 操作

499人阅读 评论(0) 收藏 举报

    在一个简单的例子中添加菜单, 然后执行操作。

例子: 第一个页面实现输入两个变量, 然后相乘, 第二个页面通过接收数据来显示计算结果。

第一个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转换为字符型  
    }
}


0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:639722次
    • 积分:8608
    • 等级:
    • 排名:第2316名
    • 原创:225篇
    • 转载:125篇
    • 译文:0篇
    • 评论:119条
    最新评论
    Friends