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要經過設計
但假設經過設計呢??)