startActivityForResult与startActivity的不同之处在于
1、startActivity( )
仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( )。
2、startActivityForResult( )
可以一次性完成这项任务,当程序执行到这段代码的时候,假若从T1Activity跳转到下一个Text2Activity,而当这个Text2Activity调用了finish()方法以后,程序会自动跳转回T1Activity,并调用前一个T1Activity中的onActivityResult( )方法。

相关函数:
startActivityForResult(Intent intent, Int requestCode)
setResut(int resultCode, Intent intent)
onActivityResult(int requestCode, int resultCode, Intent intent)


-----------MainActivity----------------------------------------------

public class MainActivity extends Activity {

TextView t;
public static final int REQUSET = 110; //一定要>=0


@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

t = (TextView)findViewById(R.id.toOther);

Button b = (Button)findViewById(R.id.toOther_btn);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent();
in.setClass(getApplicationContext(), OtherActivity.class);
startActivityForResult(in, REQUSET);
}
});
}


/**--requestCode:请求码 resultCode:结果码,用于标识返回数据来自哪个新Activity */
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);

if(requestCode == REQUSET && resultCode == OtherActivity.RESULT_OK){
String str = "帐号:"+data.getStringExtra(OtherActivity.KEY_USER_ID)+"\n密码:"
+data.getStringExtra(OtherActivity.KEY_USER_PASSWORD);
t.setText(str);
}

Toast.makeText(getApplicationContext(), "requestCode=" + requestCode + "::::" + "resultCode=" + resultCode, Toast.LENGTH_LONG).show();
}
}

------------------OtherActivity--------------------------------------------------------------------

public class OtherActivity extends Activity {

EditText eID ;
EditText ePASSWORD ;
Button b;

public static final String KEY_USER_ID = "USER_ID";
public static final String KEY_USER_PASSWORD = "USER_PASSWORD";

public static final int RESULT_OK = 111;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_other);

eID = (EditText)findViewById(R.id.user_ID);
ePASSWORD = (EditText)findViewById(R.id.user_PASSWORD);

b = (Button)findViewById(R.id.toMain_btn);
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Intent in = new Intent();
in.putExtra(KEY_USER_ID, eID.getText().toString());
in.putExtra(KEY_USER_PASSWORD, ePASSWORD.getText().toString());
setResult(RESULT_OK,in);
finish();
}
});
}
}





更多相关文章

  1. android WebView(三)WebViewClient
  2. Android(安卓)- 动态设置自定义View的id - setId
  3. 【Android】联通性 -- USB主机模式
  4. Android(安卓)【插件化】"偷梁换柱"的高手-VirtualApk源码解析
  5. Android(安卓)仿联系人菜单,带字母索引,顶部挤压动画,recyclerview
  6. android 调用.net 的webservice .
  7. Android(安卓)- Looper / Handler / Message
  8. 让gradle常驻内存,加快项目构建速度
  9. Android(安卓)自定义View——自定义一个文本选择框

随机推荐

  1. eBook 功能模块二之设置模块Android
  2. [置顶] Android(安卓)从硬件到应用:一步一
  3. Android性能测试
  4. Android随想
  5. Android面经:二流Android攻城狮用一个月面
  6. 丢失Android系统库或者Conversion to Dal
  7. android 如何监听自身应用被卸载
  8. 【Android 1.6】View和ViewGroup的touch
  9. android RelativeLayout属性和使用, 实现
  10. Android开发之旅:活动与任务