上一篇笔记学习了如何使用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);
}
|
|
|