今天学习了使用buddle传递数据,与大家分享一下。
源码如下:
-------------Activity003---------------
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class Activity003 extends Activity {
/** Called when the activity is first created. */
private EditText oneNum;
private TextView showMul;
private EditText secondNum;
private Button button;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
oneNum = (EditText)findViewById(R.id.onenumber);
showMul = (TextView)findViewById(R.id.showtext);
showMul.setText(R.string.firstActivity);
secondNum = (EditText)findViewById(R.id.secondnumber);
button = (Button)findViewById(R.id.mul);
button.setText(R.string.show_button);
button.setOnClickListener(new MyListener());
}
class MyListener implements OnClickListener{
public void onClick(View v) {
String numfirst = oneNum.getText().toString();
String numsecond = secondNum.getText().toString();
int one = Integer.parseInt(numfirst);
int second = Integer.parseInt(numsecond);
Intent intent = new Intent();
Bundle bl = new Bundle();
bl.putInt("numone", one);
bl.putInt("numsecond", second);
//将Bundle放入Intent传入下一个Activity
intent.putExtras(bl);
intent.setClass(Activity003.this,ResultActivity.class);
Activity003.this.startActivity(intent);
}
}
}
-------ResultActivity -----
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.TextView;
public class ResultActivity extends Activity {
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.result);
TextView textView = (TextView) findViewById(R.id.resultview);
//获取到上一个页面传过来的Intent
Intent intent = getIntent();
// 获取Intent中的Bundle数据
Bundle bl = intent.getExtras();
int number1 = bl.getInt("numone");
int number2 = bl.getInt("numsecond");
// textView.setText(num1 + " " + num2);
int result = number1 * number2;
textView.setText(result + "");
}
}
-------AndroidManifest.xml----
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.zhou"
android:versionCode="1"
android:versionName="1.0">
<uses-sdk android:minSdkVersion="8" />
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Activity003"
android:label="@string/firstActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name=".ResultActivity"
android:label="@string/result">
</activity>
</application>
</manifest>
------main.xml-------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns: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/MyTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:id="@+id/Mybutton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
------result.xml-------
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns: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/resultview"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
------strings.xml-----
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello World, Activity002Activity!</string>
<string name="app_name">Activity002</string>
<string name="other">OtherActivity</string>
</resources>
运行结果: