我无法理解何时使用这些方法
Button b = (Button) findViewById(R.id.btn);
home.setOnClickListener (new View.OnClickListener() {
public void onClick(View view) {
Intent i = new Intent(view.getContext(), Home.class);
startActivityForResult (i, 0);
}
});
和
Button b = (Button)findViewById(R.id.btn);
button.setOnClickListener (new View.OnClickListener() {
public void onClick (View view) {
Intent i = new Intent (this, Home.class);
startActivity (i);
}
});
和
我的另一个疑问是当我使用intent onCreate(Bundle b)方法启动一个新的Activity时,我想知道b(Bundle)是指当前Activity还是前一个Activity被调用的那个。< / p>
答案 0 :(得分:3)
http://rahulonblog.blogspot.in/2010/05/android-startactivityforresult-example.html
答案 1 :(得分:1)
如果您在任何活动中调用 startActivityForResult ,则当被调用活动完成或按下后退按钮时,将通知当前正在调用的活动,并且某些信息将返回到调用活动。
主叫活动的 onActivityResult 方法负责接收已完成活动发送的信息。
答案 2 :(得分:0)
startActivity(Intent)方法用于启动一个新活动,该活动将放置在活动堆栈的顶部。它需要一个参数,一个Intent,它描述了要执行的活动。
有时您希望在活动结束时从结果中获取结果。例如,您可以启动一项活动,让用户在联系人列表中选择一个人;当它结束时,它返回被选中的人。要执行此操作,请使用标识该调用的第二个整数参数调用startActivityForResult(Intent,int)版本。结果将通过onActivityResult(int,int,Intent)方法返回。
当一个活动退出时,它可以调用setResult(int)将数据返回给它的父项。它必须始终提供结果代码,该结果代码可以是标准结果RESULT_CANCELED,RESULT_OK或从RESULT_FIRST_USER开始的任何自定义值。此外,它还可以选择返回包含所需的任何其他数据的Intent。所有这些信息都会显示在父级的Activity.onActivityResult()上,以及它最初提供的整数标识符。
如果子活动因任何原因(例如崩溃)失败,则父活动将收到代码为RESULT_CANCELED的结果。