Android 避免Activity重复创建 一次finish()返回上个页面
2016-03-22 14:43
615 查看
AndroidManifest.xml文件中
如此配置:
<activity
[b] android:name="com.xxxx.xxxxBctivity"
android:launchMode="singleTask"
android:taskAffinity="[b]com.xxxx.xxxxBctivity[/b]">
</activity>
[/b]
[b] 在 xxxxActivity中
[/b]
[b]@SuppressWarnings("unchecked")
private void initData() {
getTempFromPref();
List<ImageItem> incomingDataList = (List<ImageItem>) getIntent()
.getSerializableExtra(IntentConstants.EXTRA_IMAGE_LIST);
if (incomingDataList != null) {
mDataList.addAll(incomingDataList);
}
}
[/b]
[b] 在
一定要用onNewIntent接受 C-Activity返回的数据
[/b]
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.e("tag", "onNewINtent执行了");
setIntent(intent);
//在这里用getIntent()接收用C-Activity返回的数据
initData();
}
@Override
protected void onResume() {
super.onResume();
[b]从C-Activity返回时可能 mAdapter需要重新初始化,否则页面无法重新刷新
mGridView.setSelector(new ColorDrawable(Color.TRANSPARENT));
mAdapter = new ImagePublishAdapter(this, mDataList);
mGridView.setAdapter(mAdapter);
notifyDataChanged();
}[/b]
如此配置:
<activity
[b] android:name="com.xxxx.xxxxBctivity"
android:launchMode="singleTask"
android:taskAffinity="[b]com.xxxx.xxxxBctivity[/b]">
</activity>
[/b]
[b] 在 xxxxActivity中
[/b]
[b]@SuppressWarnings("unchecked")
private void initData() {
getTempFromPref();
List<ImageItem> incomingDataList = (List<ImageItem>) getIntent()
.getSerializableExtra(IntentConstants.EXTRA_IMAGE_LIST);
if (incomingDataList != null) {
mDataList.addAll(incomingDataList);
}
}
[/b]
[b] 在
一定要用onNewIntent接受 C-Activity返回的数据
[/b]
@Override
protected void onNewIntent(Intent intent) {
super.onNewIntent(intent);
Log.e("tag", "onNewINtent执行了");
setIntent(intent);
//在这里用getIntent()接收用C-Activity返回的数据
initData();
}
@Override
protected void onResume() {
super.onResume();
[b]从C-Activity返回时可能 mAdapter需要重新初始化,否则页面无法重新刷新
mGridView.setSelector(new ColorDrawable(Color.TRANSPARENT));
mAdapter = new ImagePublishAdapter(this, mDataList);
mGridView.setAdapter(mAdapter);
notifyDataChanged();
}[/b]
相关文章推荐
- android内存外存
- android L和android M的区别
- Android Out of memory on a 5200288-byte allocation.解决方法
- Android线程销毁
- android中的color使用总结
- Android应用中ListView利用OnScrollListener分页加载数据
- android:inputType常用取值
- 使用优化的数据容器——sparsearray
- Android RecyclerView 使用完全解析
- Android手机在开发调试时logcat不显示输出信息
- Android Studio开发入门-引用jar及so文件
- Android 中的URLEncoder和URLDecoder
- Android - 自定义带属性的控件
- Android WebView 实现JS相互调用 JsBridge
- Android Material Design 官网翻译学习笔记(开篇)
- 使用android support V7 Demo
- AndroidSample之ZoomActivity的学习
- Android 从相册中选择照片并返回
- sso package or sign error解决方案
- Android退出程序最佳方式