程序代码:( 红色代码为手动添加 )
1.Activity03/res/layout/main.xml:
<?xml version="1.0" encoding="utf-8"/>
<LinearLayout xmls:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<EditText
android:id="@+id/factorOne"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<TextView
android:id="@+id/symbol"
android:layout_width="fill_parent"
android:layout_height="warp_content"
/>
<EditText
android:id="@+id/factorTwo"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/calculate"
android:layout_width="fill_parent"
android:layout_height="warp_content"
/>
</LinearLayout>
package.mars.activity03;
import android.app.Activity;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
private EditText factorOne;
private EditText factorTwo;
private TextView symbol;
private Button calculate;
@override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.Layout.main);
//根据控件的ID来取得代表控件的对象
factorOne = (EditText)findViewById(R.id.factorOne);
facrorTwo = (EditText)findViewById(R.id.factorTwo);
symbol = (TextView)findViewById(R.id.symbol);
calculate = (Button)findViewById(R.id.calculate);
//为symbol和calculate设置显示的值
symbol.setText("乘以");
calculate.setText("计算");
smybol.setText(R.string.symbol);
calculate.setText(R.string.calculate);
//将监听器的对象绑定到按钮对象上面
calculate.setOnClickListener(new calculateListener());
}
class calculateListener implements OnClickListener{
@override
public boolean onCreateOptionsMenu(menu,menu){
menu.add(0,1,1,R.string.exit);
menu.add(0,2,2,R.string.about);
return super.onCreatOptionsMenu(menu);
}
@override
public boolean onOptionItemSelected(MenuItem,item){
if(item.getItemId()==1){
finish();
}
}
public void OnClick(View v){
//取得两个EditText控件的值
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(Activity03.this,ResultActivity.class);
//使用这个Intent对象来启动ResultActicity
Activity03.this.startActivity(Intent);
}
}
}
3.string.xml:
<string name="symbol">乘以</string>
<string name="calculate">计算</string>
<string name="exit">退出</string>
<string name="about">关于</string>
4.ResultActivity.java:
import android.app.Activity;
import android.os.Bundle;
import android.content.Intent;
import android.widget.TextView;
public class OtherActivity extends Activity{
//接受从Activity当中所传递的值
//计算两个值的积
//将计算的结果显示在Activity上
private TextView resltView;
@override
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.Layout.main);
resultView = (TextView)findViewById(R.id.result);
//得到Intent对象当中的值
Intent intent = getIntent();
String factorOneStr = intent.getStringExtra("One");
String factorTwoStr = intent.getStringExtra("Two");
int factorOneInt=Integer.parseInt(factorOneStr);
int factorTwoInt=Integer.parseInt(factorTwoStr);
//计算两个值的积
int result=factorOneInt*factorTwoInt;
resultView.setText(result*"");
}
5.Result.xml:
<?xml version="1.0" encoding="utf-8"/>
<LinearLayout xmls:android="http://schemas.android.com/apk/res/android"
android£ºorientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
<TextView
android:id="@+id/symbol"
android:layout_width="fill_parent"
android:layout_height="warp_content"
/>
</LinearLayout>
今天的任务就是做这个程序,虽说是个小程序但对我这个菜鸟来讲,已经是个挺难的程序了! 到目前为止,这整个代码我还没有全部弄懂。当然中间写的同时肯定也出现了很多问题,还好及时找到了问题的根本。