使用Intent實現頁面跳轉

1.

2.第一個和第二個不同的是,第二個有返回值

3.AndroidManifest.xml配置兩個頁面 註冊:
<application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <activity
            android:name="com.chanjet.FActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity
            android:name="com.chanjet.SActivity"
            android:label="@string/app_name" >
        </activity>
    </application >
4.第二個頁面跳轉代碼
public class FActivity extends Activity {
     private Button btn1 = null;
     private Context context = null;
     @Override
     protected void onCreate(Bundle savedInstanceState ) {
           // TODO Auto-generated method stub
           super.onCreate(savedInstanceState );
          setContentView(R.layout. first);
           btn1 = (Button) findViewById(R.id. button1);
           context = this;
           /**
           * 通過點擊btn1實現頁面跳轉
           * 1.通過startActivity的方式來實現
           * 1》初始化intent
           */
           btn1.setOnClickListener( new OnClickListener() {
              
               @Override
               public void onClick(View v) {
                    // TODO Auto-generated method stub
//                 Intent intent = new Intent(FActivity.this,SActivity.class);
                    /*
                    * 第一個參數上下文對象this
                    * 第二個參數,目標文件
                    */
                   Intent intent = new Intent(context,SActivity.class);
                   startActivity( intent);
              }
          });
     }
}
5.第二種方法,有返回值的頁面傳值
/*
           * 2.通過startActivityForresult
           */
          
           btn2.setOnClickListener( new OnClickListener() {
              
               @Override
               public void onClick(View v) {
                    // TODO Auto-generated method stub
                   Intent intent = new Intent(context,SActivity.class);
                    /*
                    * 第一個參數是intent對象
                    * 第二個參數是請求的一個標識
                    */
                   startActivityForResult( intent, 1);
              }
          });
          
          
     }
     /*
      * 通過startForresult跳轉,接收返回數據的方法
      * requestCode請求的標誌
      * resultCode第二個頁面返回的標誌
      * data第二個頁面回傳的數據
      */
     @Override
     protected void onActivityResult(int requestCode, int resultCode, Intent data ) {
           // TODO Auto-generated method stub
           super.onActivityResult(requestCode , resultCode , data);
           if(requestCode == 1 && resultCode == 2){
              String content = data.getStringExtra("data" );
               tv.setText( content);
          }
     }
第二個頁面
btn.setOnClickListener(new OnClickListener() {
              
               @Override
               public void onClick(View v) {
                    // TODO Auto-generated method stub
                   
                    count = count + "*1" ;
                   Intent data = new Intent();
                    data.putExtra( "data", count );
                   setResult(2, data);
                   finish();
              }
          });
實現:
第一個頁面通過
Intent intent = new Intent(context ,SActivity. class);
startActivityForResult( intent, 1);
第二個頁面
Intent data = new Intent();
                    data.putExtra( "data" count );
                   setResult(2, data);
                   finish();
返回到第一個頁面接收,覆蓋
 @Override
      protected void onActivityResult( int requestCodeint resultCode , Intent data ) {
           // TODO Auto-generated method stub
           super .onActivityResult(requestCode resultCode data );
           if (requestCode == 1 && resultCode == 2){
              String content = data .getStringExtra("data" );
               tv.setText( content);
          }
     }
通過請求碼和返回碼確定是那個發送的和返回的
發佈了25 篇原創文章 · 獲贊 5 · 訪問量 4萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章