閱讀1013 返回首頁    go 外匯


Activity跳轉與返回

兩個 Activity 跳轉,都是在第一個 Activity 調用 startActivity() 方法啟動第二個 Activity ,然後在第二個 Activity 調用 Context.finish() 方法實現返回到第一個 Activity 。但是有的時候業務需求很複雜,從第二個 Activity 返回到第一個 Activity 時候,需要再次處理某些事情時就要使用 startActivityForResult() 方法啟動第二個 Activity 了,並在第一個 Activity 中重寫 onActivityResult() 方法。

@Override

public void onCreate(Bundle savedInstanceState) {

          super.onCreate(savedInstanceState);

          setContentView(R.layout.main);

 

          btnLogin = (Button) findViewById(R.id.btnLogin);

          userid = (EditText) findViewById(R.id.userid);

          pwd = (EditText) findViewById(R.id.password);

 

          btnLogin.setOnClickListener(new View.OnClickListener() {

                   @Override

                   public void onClick(View v) {

                             if (userid.getText().toString().equals("tony")

                                               && pwd.getText().toString().equals("1")) {

                                      Intent it = new Intent(LoginActivity.this,

                                                         SuccessActivity.class);

                                      it.putExtra("userid", userid.getText().toString());

                                      startActivityForResult(it, 1);

                             } else {

                                      Intent it = new Intent(LoginActivity.this,

                                                         FailureActivity.class);

                                      startActivityForResult(it, 2);

                             }

                   }

          });

}

 

@Override

protected void onActivityResult(int requestCode, int resultCode, Intent data) {

          switch (requestCode) {

          case 1:

                   // 登錄成功之後返回的。

                   Log.v(TAG, "from success activity return. resultCode=" + resultCode);

                   break;

          case 2:

                   // 登錄失敗之後返回的。

                   Log.v(TAG, "from failure activity return. resultCode=" + resultCode);

          }

          super.onActivityResult(requestCode, resultCode, data);

 

}

 

}

成功屏幕 SuccessActivity