2. 第一個Activity(MainActivity.java)
package org.me.android_transferparam;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
public class MainActivity extends Activity {
private Button nextButton;
private EditText nameEdit;
private EditText phoneEdit;
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.main);
//載入所有的Widget
loadWidget();
nextButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View view){
//傳送參數到下一個Actitity
deliverToNextActitity();
}
});
}
public void deliverToNextActitity(){
//建立一個bundle物件,並將要傳遞的參數放到bundle裡
Bundle bundle = new Bundle();
bundle.putString("name", nameEdit.getText().toString());
bundle.putString("phone", phoneEdit.getText().toString());
Intent intent = new Intent();
//設定下一個Actitity
intent.setClass(this, SecondActivity.class);
intent.putExtras(bundle);
//開啟Activity
startActivity(intent);
}
private void loadWidget(){
nextButton = (Button) findViewById(R.id.nextButton);
nameEdit = (EditText) findViewById(R.id.nameEdit);
phoneEdit = (EditText) findViewById(R.id.phoneEdit);
}
}
3. 第二個Activity(SecondActivity.java)
package org.me.android_transferparam;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
public class SecondActivity extends Activity {
@Override
public void onCreate(Bundle icicle) {
super.onCreate(icicle);
setContentView(R.layout.second);
TextView content = (TextView) findViewById(R.id.content);
Button backButton = (Button) findViewById(R.id.backButton);
//取得前一個Activity傳過來的Bundle物件
Bundle bundle = getIntent().getExtras();
content.setText("姓名:"+bundle.getString("name")+" 電話:"+bundle.getString("phone"));
backButton.setOnClickListener(new Button.OnClickListener(){
@Override
public void onClick(View view){
//結束此Activity
finish();
}
});
}
}
4. main.xml(Layout)
<?xml version="1.0" encoding="utf-8"?>
<AbsoluteLayout
android:id="@+id/widget149"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:android="http://schemas.android.com/apk/res/android"
>
<EditText
android:id="@+id/nameEdit"
android:layout_width="100px"
android:layout_height="36px"
android:layout_x="58px"
android:layout_y="12px"
>
</EditText>
<TextView
android:id="@+id/nameText"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="姓名:"
android:layout_x="0px"
android:layout_y="18px"
>
</TextView>
<TextView
android:id="@+id/phoneText"
android:layout_width="wrap_content"
android:layout_height="-12px"
android:text="電話:"
android:layout_x="-1px"
android:layout_y="62px"
>
</TextView>
<EditText
android:id="@+id/phoneEdit"
android:layout_width="100px"
android:layout_height="36px"
android:layout_x="58px"
android:layout_y="57px"
>
</EditText>
<Button
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="傳送到下一個Activity"
android:layout_x="4px"
android:layout_y="103px"
>
</Button>
</AbsoluteLayout>
5. second.xml(Layout)
<?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/content"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
</TextView>
<Button
android:id="@+id/backButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="回前一個Activity">
</Button>
</LinearLayout>
6. 程式啟動及輸入參數之後的畫面







Hi
回覆刪除問個蠢問題
為何不用一個Activity當父類別 然後內建一個static物件 (可能是List類別繼承)
然後再設計兩個子類別 然後用這個static物件來傳遞??
(實務上當然不可能直接把我的字面意義拿去採用
至少 List的內容物E要經過設計
但假設經過設計呢??)