该工程的功能是实现两个数相乘,并在另外一个Activity中显示计算的结果

以下的代码是MainActivity.java中的代码

  1. package com.example.menu;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.view.Menu;
  7. import android.view.MenuItem;
  8. import android.view.View;
  9. import android.view.View.OnClickListener;
  10. import android.widget.Button;
  11. import android.widget.EditText;
  12. import android.widget.TextView;
  13.  
  14. public class MainActivity extends Activity {
  15.  
  16. private EditText factorOne;
  17. private EditText factorTwo;
  18. private TextView symbol;
  19. private Button calculate;
  20.  
  21. @Override
  22. protected void onCreate(Bundle savedInstanceState) {
  23. super.onCreate(savedInstanceState);
  24. setContentView(R.layout.activity_main);
  25.  
  26. factorOne = (EditText)findViewById(R.id.factorOne);
  27. factorTwo = (EditText)findViewById(R.id.factorTwo);
  28. symbol = (TextView)findViewById(R.id.symbol);
  29. calculate = (Button)findViewById(R.id.calculate);
  30.  
  31. //symbol.setText("乘以");
  32. //calculate.setText("计算");
  33.  
  34. //为symbol和calculate设置显示的值
  35. symbol.setText(R.string.symbol);
  36. calculate.setText(R.string.calculate);
  37. //将监听器的对象绑定到按钮对象上面
  38. calculate.setOnClickListener(new CalculateListener());
  39. }
  40.  
  41. @Override
  42. public boolean onCreateOptionsMenu(Menu menu) {
  43. // TODO Auto-generated method stub
  44. menu.add(0,1,1,R.string.exit);
  45. menu.add(0,2,2,R.string.about);
  46. return super.onCreateOptionsMenu(menu);
  47. }
  48.  
  49. //当客户点击MENU按钮的时候,调用该方法
  50. @Override
  51. public boolean onOptionsItemSelected(MenuItem item) {
  52. // TODO Auto-generated method stub
  53. if(item.getItemId() == 1){
  54. finish();
  55. }
  56. return super.onOptionsItemSelected(item);
  57. }
  58.  
  59. class CalculateListener implements OnClickListener{
  60.  
  61. @Override
  62. public void onClick(View v) {
  63. // TODO Auto-generated method stub
  64. //取得两个EditText控件的值
  65. String factorOneStr = factorOne.getText().toString();
  66. String factorTwoStr = factorTwo.getText().toString();
  67. //将这两个值存放到Intent对象当中
  68. Intent intent = new Intent();
  69. intent.putExtra("one",factorOneStr);
  70. intent.putExtra("two",factorTwoStr);
  71. intent.setClass(MainActivity.this,ResultActivity.class );
  72. //使用这个Intent对象来启动ResultActivity
  73. MainActivity.this.startActivity(intent);
  74. }
  75.  
  76. }
  77. }

以下的代码是ResultActivity.java中的代码

  1. package com.example.menu;
  2.  
  3. import android.app.Activity;
  4. import android.content.Intent;
  5. import android.os.Bundle;
  6. import android.widget.TextView;
  7.  
  8. public class ResultActivity extends Activity{
  9.  
  10. private TextView resultView;
  11.  
  12. @Override
  13. protected void onCreate(Bundle savedInstanceState) {
  14. super.onCreate(savedInstanceState);
  15. setContentView(R.layout.activity_result);
  16. resultView = (TextView)findViewById(R.id.result);
  17. //得到Intent对象当中的值
  18. Intent intent = getIntent();
  19. String factorOneStr = intent.getStringExtra("one");
  20. String factorTwoStr = intent.getStringExtra("two");
  21. int factorOneInt = Integer.parseInt(factorOneStr);
  22. int factorTwoInt = Integer.parseInt(factorTwoStr);
  23. //计算两个值的积
  24. int result = factorOneInt * factorTwoInt;
  25. resultView.setText(result + "");
  26. }
  27. }

以下的代码是activity_main.xml中的代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3. android:layout_width="fill_parent"
  4. android:layout_height="fill_parent"
  5. android:orientation="vertical" >
  6.  
  7. <EditText
  8. android:id="@+id/factorOne"
  9. android:layout_width="fill_parent"
  10. android:layout_height="wrap_content"
  11. />
  12.  
  13. <TextView
  14. android:id="@+id/symbol"
  15. android:layout_width="fill_parent"
  16. android:layout_height="wrap_content"
  17. />
  18.  
  19. <EditText
  20. android:id="@+id/factorTwo"
  21. android:layout_width="fill_parent"
  22. android:layout_height="wrap_content"
  23. />
  24.  
  25. <Button
  26. android:id="@+id/calculate"
  27. android:layout_width="fill_parent"
  28. android:layout_height="wrap_content"
  29. />
  30.  
  31. </LinearLayout>

以下的代码是activity_result.xml中的代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  3.  
  4. android:orientation="vertical"
  5. android:layout_width="fill_parent"
  6. android:layout_height="fill_parent"
  7. >
  8.  
  9. <TextView
  10. android:id="@+id/result"
  11. android:layout_width="fill_parent"
  12. android:layout_height="wrap_content"
  13. />
  14.  
  15. </LinearLayout>

以下的代码是string.xml中的代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <resources>
  3.  
  4. <string name="app_name">menu</string>
  5. <string name="hello_world">Hello world!</string>
  6. <string name="resultLabel">result</string>
  7. <string name="symbol">乘法</string>
  8. <string name="calculate">计算</string>
  9. <string name="exit">退出</string>
  10. <string name="about">关于</string>
  11. </resources>

以下的代码是AndroidManifest.xml中的代码

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <manifest xmlns:android="http://schemas.android.com/apk/res/android"
  3. package="com.example.menu"
  4. android:versionCode="1"
  5. android:versionName="1.0" >
  6.  
  7. <uses-sdk
  8. android:minSdkVersion="8"
  9. android:targetSdkVersion="21" />
  10.  
  11. <application
  12. android:allowBackup="true"
  13. android:icon="@drawable/ic_launcher"
  14. android:label="@string/app_name"
  15. android:theme="@style/AppTheme" >
  16. <activity
  17. android:name=".MainActivity"
  18. android:label="@string/app_name" >
  19. <intent-filter>
  20. <action android:name="android.intent.action.MAIN" />
  21.  
  22. <category android:name="android.intent.category.LAUNCHER" />
  23. </intent-filter>
  24. </activity>
  25. <activity
  26. android:name = ".ResultActivity">
  27. </activity>
  28. </application>
  29.  
  30. </manifest>

Android学习笔记——menu的更多相关文章

  1. Android学习笔记——Menu(三)

    知识点 今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习. Popup Menu(弹出式菜单) 弹出式菜单是一种固定在View上的菜单模型.主要用于以下三种情况: 为特定的内容提 ...

  2. Android学习笔记——Menu(二)

    知识点: 这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu). 上下文菜单 上下文菜单提供对UI界面上的特定项或上下文框架的操作,就 ...

  3. Android学习笔记--Menu菜单的使用

    实现选项菜单.上下文菜单,以及菜单内部的子菜单. 视图效果: MainActivity 选项菜单 选项菜单的子菜单 上下文菜单(按住按钮或者EditText弹出) 注意:上下文菜单如何弹出?在注册该菜 ...

  4. Android学习笔记——Menu(一)

    背景: Android3.0(API level 11)开始,Android设备不再需要专门的菜单键. 随着这种变化,Android app应该取消对传统6项菜单的依赖.取而代之的是提供anction ...

  5. 【转】 Pro Android学习笔记(三五):Menu(6):XML方式 & PopUp菜单

    目录(?)[-] 利用XML创建菜单 XML的有关属性 onClick事件 Pop-up菜单 利用XML创建菜单 在代码中对每个菜单项进行设置,繁琐且修改不灵活,不能适配多国语言的要求,可以利用资源进 ...

  6. 【转】 Pro Android学习笔记(三三):Menu(4):Alternative菜单

    目录(?)[-] 什么是Alternative menu替代菜单 小例子说明 Alternative menu代码 关于Category和规范代码写法 关于flags 多个匹配的itemId等参数 什 ...

  7. 【转】Pro Android学习笔记(三十):Menu(1):了解Menu

    目录(?)[-] 创建Menu MenuItem的属性itemId MenuItem的属性groupId MenuItem的属性orderId MenuItem的属性可选属性 Menu触发 onOpt ...

  8. 【转】 Pro Android学习笔记(三四):Menu(5):动态菜单

    目录(?)[-] OptionsMenu的创建方式 如何再次创建OptionsMenu 每次访问都重新填充菜单项 OptionsMenu的创建方式 OptionMenu在第一次访问该菜单时调用,只调用 ...

  9. 【转】 Pro Android学习笔记(三二):Menu(3):Context菜单

    目录(?)[-] 什么是Context menu 注册View带有Context menu 填Context菜单内容 Context菜单点击触发 什么是Context menu 在桌面电脑,我们都很熟 ...

随机推荐

  1. python中的二维数组和lamda

    python列表推导式 list=[[0 for i in xrange(3)] for j in xrange(4)] 二维数组 g=lambda x,y:x*y; print g(2,9);

  2. 54B

    The Hedgehog recently remembered one of his favorite childhood activities, - solving puzzles, and go ...

  3. 【POJ 1523】SPF(割点)

    儿子数大于1的树根或者 Low[v] >= DFN[u]的非树根节点v 就是割点. #include <cstdio> #include <cstring> const ...

  4. pch文件的使用

    pch文件的应用场景:1.用来定义一些全局的宏2.用来导入一些全局都能访问的头文件(如果只需要让.m或者.mm文件访问到,不需要让.c文件访问到,那么需要把头文件写到#ifdef _OBJC_ #en ...

  5. PL/SQL Developer连接本地64位Oracle数据库

    1.安装oracle Clinet 首先到Oracle官网上去下载一个Oracle 11g Client(我的是11g的oracle),不过需要先申请一个Oracle 帐号,才能下载. 目前下载地址: ...

  6. 【BZOJ-1069】最大土地面积 计算几何 + 凸包 + 旋转卡壳

    1069: [SCOI2007]最大土地面积 Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 2707  Solved: 1053[Submit][Sta ...

  7. 【BZOJ-1391】order 最小割 + 最大全闭合图

    1391: [Ceoi2008]order Time Limit: 10 Sec  Memory Limit: 64 MBSubmit: 1334  Solved: 405[Submit][Statu ...

  8. 【BZOJ-2893】征服王 最大费用最大流(带下界最小流)

    2893: 征服王 Time Limit: 10 Sec  Memory Limit: 256 MBSubmit: 156  Solved: 48[Submit][Status][Discuss] D ...

  9. bzoj2631: tree

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  10. 网易免费/付费163企业邮smtp服务器地址

    免费:smtp.ym.163.com 25/pop.ym.163.com 110 付费:smtp.qiye.163.com 25/pop.qiye.163.com 110