功能需求:在MainActivity跳轉到下一個頁面
主頁面只有一個按鈕控件下一個頁面有2個TextView 控件
和一個 Button控件Button 按鈕用於 從下一個頁面帶須要的數據返回MainActivity 頁面android
一、在res/layout佈局好界面 有2個.xml文件 用來 佈局 MainActivity 和下一個頁面的
界面ide
代碼函數
activity_main佈局
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="${relativePackage}.${activityClass}" >this
<Button
android:id="@+id/bt_jump"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="跳轉到下一個頁面"
android:onClick="jump"/>
<TextView
android:id="@+id/back_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/bt_jump"
/>
xml
</RelativeLayout>
---------------------------
nextactivity對象
代碼utf-8
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="下一個Activity頁面"
android:textSize="50sp"/>
get
<TextView
android:id="@+id/textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="40sp"/>
<Button
android:id="@+id/bt_back"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="返回MianActivity"
android:onClick="back_mainactivity"
/>
</LinearLayout>it
---------------------------------
二、而後在配置清單AndroidManifest.xml文件裏 配置要跳轉的類
代碼
<activity android:name=".NextActivity"></activity>
//.表明當前包 -- 而後 加類名
//若是不要. 就包名.類名
---------------------------------
三、先在MainActivity 實現 跳到下一個頁面的 功能
代碼
public class MainActivity extends Activity {
private TextView textview;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
textview = (TextView) this.findViewById(R.id.back_textview);
}
//跳到下一頁的 按鈕 監聽
public void jump(View view){
//顯式跳轉
//Intent -- 意圖
//第一個參數 -- 當前類
//第二個參數 -- 要跳到哪一個頁 -- 類名.class
Intent intent = new Intent(this, NextActivity.class);
Bundle bundle = new Bundle();//用 這個 對象 來裝 要傳輸的數據
//準備 要 傳輸 到 下一個 activity 頁面的 數據
bundle.putInt("age",18);
bundle.putString("name","哈哈");
//把 要傳輸 的 一塊兒 丟給 intent 帶到 下一個 頁面
intent.putExtras(bundle);
//開始 跳轉
int requestCode = 100;
//startActivityForResult 方法 是 帶返回結果的 跳轉
startActivityForResult(intent, requestCode);
//startActivity方法 是不帶 返回的 結果的 跳轉
// startActivity(intent);
}
//重寫 一個 函數 (用於 其餘 activity 的返回 到這個 activity 頁面 的做用)
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
//requestCode -- 請求碼 resultCode -- 結果碼
if(requestCode == 100 && resultCode == 101){
//接收 activity 傳輸 過來的 數據
Bundle bundle = data.getExtras();
//獲取 鍵 -- 對應的值
String result = bundle.getString("back_data");
//把 返回 來的 數據 填 到 當前 MianActivity 的TextView 裏
textview.setText(result);
}
}
---------------------------------
四、在下一頁NextActivity 實現 接收MainActivity 帶(經過Bundle 對象)過來的數據
代碼
public class NextActivity extends Activity {private TextView textview; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.nextactivity); //接收 MainActivity 發送 過來的 數據 Intent intent = getIntent(); //建立 一個Bundle 對象 接收MianActivity傳輸過來的Bundle對象//裏面裝了 要傳輸過來 的數據 Bundle bundle = intent.getExtras(); //獲取 相應 鍵 -- 的值 int Mian_age = bundle.getInt("age"); String Mian_name = bundle.getString("name"); textview = (TextView) this.findViewById(R.id.textview); textview.setText(Mian_name + ":" + Mian_age); }//返回MainActivity的按鈕 監聽 public void back_mainactivity(View view){ Intent intent = getIntent();//第三步 //建立一個 Bundle 對象 用來 裝 返回去 的數據 Bundle bundle = new Bundle();//第一步 //把 要 返回 的數據 裝進去 bundle.putString("back_data", "從nextactivity回來了");//第二步 //經過 intent 來 傳輸 回去 intent.putExtras(bundle);//第四步 int resultCode = 101; setResult(resultCode , intent); //退出 當前Activity finish(); }