欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Android使用Intent實(shí)現(xiàn)頁面跳轉(zhuǎn)

 更新時(shí)間:2017年10月12日 08:57:41   作者:海向_起源  
這篇文章主要為大家詳細(xì)介紹了Android使用Intent實(shí)現(xiàn)頁面跳轉(zhuǎn),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

什么是Intent

Intent可以理解為信使(意圖)
由Intent來協(xié)助完成Android各個(gè)組件之間的通訊

Intent實(shí)現(xiàn)頁面之間的跳轉(zhuǎn)

1>startActivity(intent)
2>startActivityForResult(intent,requestCode)
onActivityResult(int requestCode,int resultCode,Intent data)
setResult(resultCode,data)
第二種啟動(dòng)方式可以返回結(jié)果

代碼

FirstActivity.java

public class FirstActivity extends AppCompatActivity {
  private Button bt1;
  private Button bt2;
  private TextView tv;
  private Context context=FirstActivity.this;

  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.first_layout);

    bt1 = (Button) findViewById(R.id.button_first);
    bt2 = (Button) findViewById(R.id.button_second);
    tv = (TextView) findViewById(R.id.textView);
    /*
    * 通過點(diǎn)擊bt1實(shí)現(xiàn)頁面之間的跳轉(zhuǎn)
    * 1.startActivity的方式來實(shí)現(xiàn)
    * */
    bt1.setOnClickListener(new View.OnClickListener() {
      public void onClick(View view) {
        /*
        * 第一個(gè)參數(shù):上下文對(duì)象.this 匿名內(nèi)部類中不能直接.this
        * 第二個(gè)參數(shù):目標(biāo)文件(注意是.class)
        * Intent(Context packageContext, Class<?> cls)
        * */
        //Intent intent = new Intent(FirstActivity.this,SecondActivity.class);
        Intent intent = new Intent(context,SecondActivity.class);
        startActivity(intent);
      }
    });

    /*
    * 通過startActivityForResult
    * */
    bt2.setOnClickListener(new View.OnClickListener() {
      public void onClick(View view) {
        Intent intent = new Intent(context,SecondActivity.class);
        /*
         * 第一個(gè)參數(shù)是Intent對(duì)象
         * 第二個(gè)參數(shù)是請(qǐng)求的一個(gè)標(biāo)識(shí)
         * public void startActivityForResult(Intent intent, int requestCode)
         */
        startActivityForResult(intent,1);
      }
    });
  }
  /*
   * 通過startActivityForResult方法跳轉(zhuǎn),接收返回?cái)?shù)據(jù)的方法
   * requestCode:請(qǐng)求的標(biāo)識(shí)
   * resultCode:第二個(gè)頁面返回的標(biāo)志
   * data:第二個(gè)頁面回傳的數(shù)據(jù)
   */
  protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if(requestCode == 1 && resultCode == 3){
      String value = data.getStringExtra("data");
      tv.setText(value);
    }
  }
}

SecondActivity.java

public class SecondActivity extends Activity {
  private Button bt1;
  private String value="回傳數(shù)據(jù)";

  protected void onCreate(@Nullable Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.second_layout);

    bt1 = (Button) findViewById(R.id.button);
    /*
    * 第二個(gè)頁面什么時(shí)候給第一個(gè)頁面回傳數(shù)據(jù)
    * 回傳第一個(gè)頁面實(shí)際上是一個(gè)Intent對(duì)象
    * */

    bt1.setOnClickListener(new View.OnClickListener() {
      public void onClick(View view) {
        Intent data = new Intent();//使用空參就行,因?yàn)槲覀儾惶D(zhuǎn)
        data.putExtra("data",value);
        setResult(3,data);
        finish();//銷毀本頁面,也就是返回上一頁面
      }
    });
  }
}

first_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
  android:orientation="vertical" android:layout_width="match_parent"
  android:layout_height="match_parent">

  <Button
    android:id="@+id/button_first"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="第一種啟動(dòng)方式" />

  <Button
    android:id="@+id/button_second"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="第二種啟動(dòng)方式" />

  <TextView
    android:id="@+id/textView"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="把第二個(gè)頁面回傳的數(shù)據(jù)顯示出來" />
</LinearLayout>

second_layout.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 android:orientation="vertical" android:layout_width="match_parent"
 android:layout_height="match_parent">

 <Button
  android:id="@+id/button"
  android:layout_width="match_parent"
  android:layout_height="wrap_content"
  android:text="Button" />
</LinearLayout>

以上就是本文的全部內(nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論