博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android开发之——Menu 操作
阅读量:4053 次
发布时间:2019-05-25

本文共 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/

你可能感兴趣的文章
GridView中根据特殊标记设置不可编辑
查看>>
PowerDesinger中生成数据库时将域的内容转化为实际的字段
查看>>
通过模板将GridView导出为Excel
查看>>
迭代开发过程及一些原则
查看>>
Windows IIS服务器CA认证安装
查看>>
Asp.net 中Excel通过模板导出中发布问题
查看>>
64位机器配置CA认证一些小问题
查看>>
SVN自动完全备份
查看>>
开发中的Warning原来也很有用
查看>>
Silverlight Toolkit例子代码中缺少System.Windows.Controls.Samples.Common.dll的解决办法
查看>>
项目经理培训后的一点感概
查看>>
vc学习之窗口大小发生变更时使控件自动摆放到合适的位置
查看>>
Oracle 获取系统日期时间,导出数据库
查看>>
黄巢的菊花,非常喜欢,贴出来共享一下
查看>>
在光纤环网中的b/s与c/s的比对
查看>>
根据程序名称和程序路径判断程序是否启动
查看>>
史记翻译-汉初三杰-萧何-萧相国世家第二十三
查看>>
史记翻译-汉初三杰-张良-留侯世家第二十五
查看>>
史记翻译-汉初三杰-韩信-淮阴侯列传第三十二
查看>>
帝王封赏之道和老板的封赏之道
查看>>