android 实现两个数字的乘法,页面之间的传值 以及菜单下拉列表的使用
2014-03-11 18:00
991 查看
package com.example.test1; 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 MainActivity extends Activity { private EditText factorOne; private EditText factorTwo; private Button calculate; private TextView symbol; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); // 根据空间ID 取得代表控件的对象 factorOne = (EditText) findViewById(R.id.factone); factorTwo = (EditText) findViewById(R.id.facttwo); symbol = (TextView) findViewById(R.id.symbol); calculate = (Button) findViewById(R.id.calculate); // 为symbol和calculate设置显示的值 symbol.setText(R.string.symbol); calculate.setText(R.string.calculator); // 给calculate设置绑定事件 calculate.setOnClickListener(new CalculateListener()); } // 编写一个监听器 class CalculateListener implements OnClickListener { @Override public void onClick(View arg0) { // 1.取得两个EditText的值 String factorOneStr = factorOne.getText().toString(); String factorTwoStr = factorTwo.getText().toString(); // 2.将这两个值存放到Intent对象当中 Intent it = new Intent(); it.putExtra("one", factorOneStr); it.putExtra("two", factorTwoStr); it.setClass(MainActivity.this, ResultActivity.class); // 使用这个Intent对象来启动ResultActivity MainActivity.this.startActivity(it); } } // 添加回调函数,当客户点击menu按钮时调用该方法 @Override public boolean onCreateOptionsMenu(Menu menu) { // Inflate the menu; this adds items to the action bar if it is present. menu.add(0, 1, 1, R.string.exit); menu.add(0, 2, 2, R.string.about); return super.onCreateOptionsMenu(menu); } // 为menu添加动作,也是一个回调函数,当客户点击菜单当中的某一个选项时调用该方法 public boolean onOptionsItemSelected(MenuItem item) { if (item.getItemId() == 1) { finish(); } return super.onOptionsItemSelected(item); } }
补充:给按钮添加监听事件:注意是new(View.OnClickListener())不要把View 丢了
nextpage.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { } });
package com.example.test1; import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.widget.TextView; public class ResultActivity extends Activity{ private TextView resultView; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.result); resultView= (TextView) findViewById(R.id.result); //得到Intent对象的值 Intent it = getIntent(); String factorOneStr =it.getStringExtra("one"); String factorTwoStr =it.getStringExtra("two"); int factorOneInt=Integer.parseInt(factorOneStr); int factorTwoInt=Integer.parseInt(factorTwoStr); int result =factorOneInt*factorTwoInt; resultView.setText(result+""); } }
页面布局:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <EditText android:id="@+id/factone" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ems="10" /> <TextView android:id="@+id/symbol" android:layout_width="987dp" android:layout_height="124dp" android:text="@string/hello" /> <EditText android:id="@+id/facttwo" android:layout_width="fill_parent" android:layout_height="wrap_content" android:ems="10" > <requestFocus /> </EditText> <Button android:id="@+id/calculate" android:layout_width="fill_parent" android:layout_height="wrap_content" /> </LinearLayout>
<?xml version="1.0" encoding="UTF-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" > <TextView android:id="@+id/result" android:layout_width="987dp" android:layout_height="77dp" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <resources> <string name="hello">Hello World, MainActivity</string> <string name="app_name">test1</string> <string name="action_settings">Settings</string> <string name="calculator">计算</string> <string name="symbol">乘以</string> <string name="exit">退出</string> <string name="about">关于</string> </resources>
AndroidManifest.xml文件
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test1" android:versionCode="1" android:versionName="1.0" > <uses-sdk android:minSdkVersion="8" android:targetSdkVersion="17" /> <application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.example.test1.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name="com.example.test1.ResultActivity" android:theme="@style/AppTheme" > </activity> </application> </manifest>
相关文章推荐
- android 中button 的应用
- android 中 R.java 常见问题(R.java文件没有生成 或者生成了但是R.id...不能识别出id或者R.layout)
- Android中Dos下创建AVD,解决点击OK无法创建AVD的问题
- Android OTA 升级
- Android ContentProvider
- android真机调试时使用SQLite3查询数据库
- Ubuntu 12.04下制作JNA For Android
- 基于ffmpeg的Android播放器开源代码
- 【Android进阶】使用第三方平台 ShareSDK 实现新浪微博的一键分享功能
- android中的path类
- 【转】Android异步消息处理机制完全解析,带你从源码的角度彻底理解
- XE5 android怎么调用自带浏览器打开网页
- Android SQLite 语句
- 百度地图与Android横竖屏切换的问题
- android基础-TextView
- Android开发中遇到的问题(一)——自定义videoview设置视频大小,实现上下黑边
- Android:Intent
- android中使用MediaRecoder录制声音
- interactive governor study for android
- Windows通过git下载android源码