分享

加法计算器

 杰出天下 2012-02-22
  • 加法计算器原理

  上一篇笔记学习了如何使用Intent实现跳转和数据的传递,在计算器中,依然使用两个Activity,第一个Activity用来显示两个文本框来输入和一个计算按钮来跳转到第二个Activity。第二个Activity用来接收传递来的两个值,做加法并用来显示结果。

  首先构造两个文件Android_03.java和Android_03_Result.java。以及两个布局XML文件main.xml和result.xml。

  接下来为第一个界面添加控件,为main.xml文件添加代码如下:

<EditText
        android:id="@+id/edittext"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
<TextView
        android:id="@+id/textview"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="@string/hello" />
<EditText
        android:id="@+id/edittext2"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"/>
<Button
        android:id="@+id/button"
 	android:layout_width="fill_parent"
 	android:layout_height="wrap_content"/>

  以此构造计算界面。接下来需要为按钮添加监听器,来实现跳转和数据的传递,如下代码:

// 初始化控件
		text1 = (EditText) findViewById(R.id.edittext);
		text2 = (EditText) findViewById(R.id.edittext2);
		view = (TextView) findViewById(R.id.textview);
		button = (Button) findViewById(R.id.button);
		// 设置值
		/* 这样赋值好处在于,直观和方便,但是出于全球化考虑,再修改很麻烦 */
		view.setText("+");
		button.setText("计算 ");
		/*
		 * 通过string配置文件来配置 正真的值在string配置文件中
		 */
		view.setText(R.string.view);
		button.setText(R.string.button);
		button.setOnClickListener(new OnClickListener() {

			public void onClick(View arg0) {
				// 处理按钮按下所执行的动作
				/*
				 * 1.取得控件的值 2.将两个值存放在Intent对象中 3.使用Intent对象传值并跳转计算
				 */
				String str1 = text1.getText().toString();
				String str2 = text2.getText().toString();
				Intent intent = new Intent();
				intent.putExtra("value1", str1);
				intent.putExtra("value2", str2);
				intent.setClass(Android_03.this, Android_03_Result.class);
				Android_03.this.startActivity(intent);
			}
		});

  对于第二个Activity,我们获得传递的参数,并且将结果显示在标签中,向Android_03_Result.java添加如下代码段:

/**
 * 1.得到传递过来的两个值
* 2.两个数值相加
 * 3.设置标签内容显示结果
 */
Intent intent=getIntent();
//得到两个值并强制类型转换为整形
int number1=Integer.parseInt(intent.getStringExtra("value1"));
int number2=Integer.parseInt(intent.getStringExtra("value2"));
textview=(TextView)findViewById(R.id.show);
//做加法计算并显示出来	
textview.setText(number1+"+"+number2+"="+(number1+number2));

  执行结果如图:

第一个Activity界面

  当在输入框输入整数,并点击计算按钮时跳转到第二个Activity做计算并显示结果,如图:

第二个Activity界面

  • 为界面添加菜单按钮

  在手机上,有一个菜单按钮,当点击按钮时,界面会弹出该应用的一些菜单选项,如何为界面添加呢?在 Android_03.java继承了Activity对象。通过覆写其public boolean onCreateOptionsMenu(Menu menu) {}方法可以实现菜单项的添加。在方法中,可以直接操作menu对象来添加菜单项。如下代码:

// 通过复写次方法添加menu菜单-点击手机menu按钮执行的方法。
public boolean onCreateOptionsMenu(Menu menu) {
	menu.add(0, 1, 1, R.string.exit);
	menu.add(0, 2, 2, R.string.about);
	return super.onCreateOptionsMenu(menu);
}

执行结果:

点击手机菜单激活应用菜单项

  • 为菜单项添加监听器

  菜单项已经添加好了,可是点击菜单项并没有任何执行效果,如何为菜单项添加监听器执行一些动作呢?通过覆写其public boolean onOptionsItemSelected(MenuItem item) {}方法,对item对象的操作来实现菜单项监听器的添加。添加如下代码,当点击了菜单项标识为1的菜单项时结束程序: 

// 添加菜单选项执行方法
public boolean onOptionsItemSelected(MenuItem item) {
	if (item.getItemId() == 1) {
		finish();
	}
	return super.onOptionsItemSelected(item);
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多