今天给大家实现一个控件功能,具体见图
1:设置layout/main.xml布局
<?xml version=
"1.0" encoding=
"utf-8"?>
<LinearLayout xmlns:android=
"http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_;fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:layout_;fill_parent"
android:layout_height="wrap_content"
android:id="@+id/edt1"
/>
<TextView
android:layout_;fill_parent"
android:layout_height="wrap_content"
android:text="@string/tv"
android:id="@+id/tv"
/>
<EditText
android:layout_;fill_parent"
android:layout_height="wrap_content"
android:id="@+id/edt2"
/>
<Button
android:id="@+id/button"
android:layout_;fill_parent"
android:layout_height="wrap_content"
android:text="@string/button"
/>
</LinearLayout>
2:创建计算返回结果的布局layout/result.xml
<?xml version=
"1.0" encoding=
"utf-8"?>
<LinearLayout
xmlns:android=
"http://schemas.android.com/apk/res/android"
android:layout_;fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
>
<TextView
android:id="@+id/result"
android:layout_;fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
3:填充布局所对应的values/string.xml
<?xml version=
"1.0" encoding=
"utf-8"?>
<resources>
<string name=
"hello">Hello World, ActivityDemo!</string>
<string name=
"app_name">ActivityDemo</string>
<string name=
"button">计算</string>
<string name=
"tv">乘以</string>
<string name=
"exit">退出</string>
<string name=
"about">关于</string>
</resources>
4:实现布局功能的ActivityDemo.java代码
package com.android.test;
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 ActivityDemo
extends Activity {
private EditText factorOne, factorTwo;
private TextView symbol;
private Button calculate;
public
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
//根据控件的ID来取得代表控件的对象
factorOne = (EditText)findViewById(R.id.edt1);
factorTwo = (EditText)findViewById(R.id.edt2);
symbol = (TextView)findViewById(R.id.tv);
calculate = (Button)findViewById(R.id.button);
//将监听器的对象绑定到按钮对象上面
calculate.setOnClickListener(
new CalculateListener());
}
//当客户点击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) {
if(item.getItemId() == 1) {
finish();
}
else
if(item.getItemId() == 2) {
}
return
super.onOptionsItemSelected(item);
}
class CalculateListener
implements OnClickListener {
public
void onClick(View v) {
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(ActivityDemo.
this, ResultActivity.
class);
ActivityDemo.
this.startActivity(intent);
}
}
}
5:实现转换为计算结果的布局ResultActivity.java代码
package com.android.test;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public
class ResultActivity
extends Activity {
private TextView resultView;
protected
void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
resultView = (TextView)findViewById(R.id.result);
Intent intent = getIntent();
String factorOneStr = intent.getStringExtra(
"one");
String factorTwoStr = intent.getStringExtra(
"two");
//转换int类型
int factorOneInt = Integer.parseInt(factorOneStr);
int factorTwoInt = Integer.parseInt(factorTwoStr);
int result = factorOneInt * factorTwoInt;
resultView.setText(result + "");
}
}
6:必须在AndroidManifest.xml注册ResultActivity.java
<activity android:name=
".ResultActivity">
</activity>
本文转自 Art_Hero 51CTO博客,原文链接:http://blog.51cto.com/curran/506006,如需转载请自行联系原作者