startActivityForResult ,onActivityResult,Activity之间传数据
来源:互联网 发布:淘宝上药店 编辑:程序博客网 时间:2024/04/20 13:06
AndroidManifest.xml
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".KakuLogerActivity"
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=".LaunchActivity"
android:label="@string/app_name2" >
</activity>
</application>
主Activity:
public class KakuLogerActivity extends Activity {
TextView phoneNumber;
EditText iNameField;
int REQUEST_CODE = 0;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button launchBtn = (Button)findViewById(R.id.btnLaunchActivity);
iNameField = (EditText)findViewById(R.id.inamefield);
phoneNumber = (TextView)findViewById(R.id.phone_number);
launchBtn.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
Intent newIntent = new Intent(KakuLogerActivity.this, LaunchActivity.class);
// 传递参数
newIntent.putExtra("name", iNameField.getText().toString());
// 开始一个新的 Activity等候返回结果
startActivityForResult(newIntent, REQUEST_CODE);
Log.i("clicked", "open the LaunchActivity page!!!!");
}
});
}
@Override
// 当结果返回后判断并执行操作
protected void onActivityResult(int requestCode, int resultCode, Intent intent) {
super.onActivityResult(requestCode, resultCode, intent);
if (requestCode == REQUEST_CODE) {
if (resultCode == RESULT_OK) {
Bundle extras = intent.getExtras();
if (extras != null) {
phoneNumber.setText("Phone #: "
+ extras.getString("phonenumber"));
}
}
}
}
}
LaunchActivity:
public class LaunchActivity extends Activity {
EditText phoneNumber;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.layout2);
Button btn = (Button)findViewById(R.id.btnRtrnActivity);
TextView oNameField = (TextView)findViewById(R.id.oNameMessege);
phoneNumber = (EditText)findViewById(R.id.iTelephoneField);
Log.i("launchActivity", "opened the LaunchActivity page!!!!");
// 取得前一个画面的传入值
Bundle extras = getIntent().getExtras();
oNameField.setText("Hello " + extras.getString("name"));
btn.setOnClickListener(new OnClickListener(){
public void onClick(View v) {
// 设置返回数据
Bundle bundle = new Bundle();
bundle.putString("phonenumber", phoneNumber.getText().toString());
Intent intent = new Intent();
intent.putExtras(bundle);
// 返回intent
setResult(RESULT_OK, intent);
finish();
}
});
}
}
传递Uri时候,可以使用toString将其转化为String类型,在onActivityResult中使用Uri uri = Uri.Parse(String string) 转化为Uri类型。不建议Activity之间传递一个Class或结构体,因为Activity之间传递的速度非常慢,最好只传一些基本数据类型。
- startActivityForResult ,onActivityResult,Activity之间传数据
- Activity回传数据方法startActivityForResult onActivityResult
- Activity回传数据方法startActivityForResult onActivityResult
- Activity回传数据方法startActivityForResult onActivityResult
- Activity之间数据传递onActivityResult
- startActivityForResult,onActivityResult,利用Activity启动返回的数据
- android之activity之间共享数据 startActivityForResult
- Activity之间startActivityForResult传递和接受数据
- android-Activity的跳转与传值:startActivityForResult,setResult,onActivityResult
- Activity---Activity之间数据交流(onActivityResult的用法)
- Activity---Activity之间数据交流(onActivityResult的用法)
- 关于 Activity 中 startActivityForResult 和 onActivityResult
- 关于 Activity 中 startActivityForResult 和 onActivityResult
- Activity---startActivityForResult()、onActivityResult()和setResult()使用
- Activity详解 (五) : startActivityForResult()与onActivityResult()
- Activity之间传值的方法-startActivityForResult
- Activity之间数据交流(onActivityResult的用法)
- Activity之间数据交流(onActivityResult的用法)
- LINUX系统性能调谐
- sql server脚本笔记
- ASE : Display Available Device Space - Free Disk Space
- ioctl的相关理解
- cocos2d-x屏幕适配 三个参数含义
- startActivityForResult ,onActivityResult,Activity之间传数据
- 乱码问题
- Android编程之另一种原因造成Cursor未关闭错误
- 10个重要的算法C语言实现源代码
- WinRT 介绍
- Unity Tweak Tool:MyUnity
- 验证程序签名
- c语言静态库.h文件的注意事项(一个编程菜鸟记录自己的编程路程)
- 三层架构详解