android使用startActivityForResult多级回传参数
2015-07-02 14:16
721 查看
startActivityForResult 回传参数 经常会被选择某些属性时候的时候用到
但是大多时候,都是只有一级。那么如何从二级页面直接传到主页面呢。
可以这样从二级页面传到一级页面。在传回主页面。
二级页面代码
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
RegionModel region = mAdapter.getItem(position);
Intent data = new Intent();
data.putExtra("city", region);
setResult(1, data);
finish();
}
});
一级页面接收到二级页面传来的参数,然后直接传回主页面
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
RegionModel city = (RegionModel) data.getSerializableExtra("city");//二级页面的参数
Intent intent = new Intent();
intent.putExtra("province", mProvince);
intent.putExtra("city", city);
setResult(1, intent);
finish();
}
}
最后主页面直接接收一级页面的参数
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case LOCREQ:
if (resultCode == 1) {
RegionModel province = (RegionModel) data.getSerializableExtra("province");
RegionModel city = (RegionModel) data.getSerializableExtra("city");
// locImageView.setVisibility(View.GONE);
if (mPosition == 1) {
phoneCityTextView.setVisibility(View.VISIBLE);
phoneCityTextView.setText(province.getName() + " " + city.getName());
} else if (mPosition == 2) {
childCityTextView.setVisibility(View.VISIBLE);
childCityTextView.setText(province.getName() + " " + city.getName());
} else if (mPosition == 3) {
parentCityTextView.setVisibility(View.VISIBLE);
parentCityTextView.setText(province.getName() + " " + city.getName());
}
} else {
Toast.makeText(context, "无效地址", Toast.LENGTH_LONG).show();
}
break;
default:
break;
}
}
留下代码 方便以后查看
但是大多时候,都是只有一级。那么如何从二级页面直接传到主页面呢。
可以这样从二级页面传到一级页面。在传回主页面。
二级页面代码
mListView.setOnItemClickListener(new OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> arg0, View arg1,
int position, long arg3) {
RegionModel region = mAdapter.getItem(position);
Intent data = new Intent();
data.putExtra("city", region);
setResult(1, data);
finish();
}
});
一级页面接收到二级页面传来的参数,然后直接传回主页面
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (resultCode == 1) {
RegionModel city = (RegionModel) data.getSerializableExtra("city");//二级页面的参数
Intent intent = new Intent();
intent.putExtra("province", mProvince);
intent.putExtra("city", city);
setResult(1, intent);
finish();
}
}
最后主页面直接接收一级页面的参数
@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
switch (requestCode) {
case LOCREQ:
if (resultCode == 1) {
RegionModel province = (RegionModel) data.getSerializableExtra("province");
RegionModel city = (RegionModel) data.getSerializableExtra("city");
// locImageView.setVisibility(View.GONE);
if (mPosition == 1) {
phoneCityTextView.setVisibility(View.VISIBLE);
phoneCityTextView.setText(province.getName() + " " + city.getName());
} else if (mPosition == 2) {
childCityTextView.setVisibility(View.VISIBLE);
childCityTextView.setText(province.getName() + " " + city.getName());
} else if (mPosition == 3) {
parentCityTextView.setVisibility(View.VISIBLE);
parentCityTextView.setText(province.getName() + " " + city.getName());
}
} else {
Toast.makeText(context, "无效地址", Toast.LENGTH_LONG).show();
}
break;
default:
break;
}
}
留下代码 方便以后查看
相关文章推荐
- Android通过Post与Get提交数据
- androidpn登录问题,关闭已经登录的帐号
- Android中px和dp的互相转换
- Ubuntu下搭建Android开发环境
- Android Studio
- Android屏幕适配全攻略(最权威的官方适配指导)
- Android 编程下 Touch 事件的分发和消费机制
- android消息机制:Looper,Handler,Message
- NullPointerException at android.widget.AbsListView.obtainView at android.widget.GridView.onMeasure
- Android Studio 常用功能介绍
- android:windowSoftInputMode属性详解
- Android编译过程详解(三)
- Android API文档,最好的学习参考。
- Android编译过程详解(二)
- ubuntu下android连接真机开发找不到手机问题解决
- Android编译过程详解(一)
- Android WebView中的JavaScript代码使用
- android 调用js webView网页,点击提交按钮无效(注意加上setWebChromeClient())
- Android开发之少去踩坑,多走捷径【转】
- Android布局中涉及的一些属性