startActivityForResult 页面跳转回调
import java.io.Serializable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map; import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.AlertDialog.Builder;
import android.app.Dialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.graphics.Color;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.Button;
import android.widget.GridView;
import android.widget.SimpleAdapter;
import android.widget.TextView;
import android.widget.Toast; public class MainActivity extends Activity { private Button button_add;
private GridView gv;
List<Map<String, String>> list = new ArrayList<Map<String, String>>(); @Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) { if (requestCode == 1 && resultCode == 1) {
// 获取map集合
final HashMap<String, String> map = (HashMap<String, String>) data
.getSerializableExtra("map"); // 将map集合添加到list集合中 list.add(map); // 为gridview设置适配器
final SimpleAdapter adapter = new SimpleAdapter(MainActivity.this, list,
R.layout.item, new String[] { "name", "author" },
new int[] { R.id.item_name, R.id.item_author });
gv.setAdapter(adapter); // 为gv设置条目点击监听事件
gv.setOnItemClickListener(new OnItemClickListener() { @Override
public void onItemClick(AdapterView<?> parent, View view,
final int position, long id) { gv.setSelector(android.R.color.holo_red_light); new AlertDialog.Builder(MainActivity.this)
.setTitle("确认删除")
.setMessage("确认删除吗?")
.setNegativeButton("取消",
new DialogInterface.OnClickListener() { @Override
public void onClick(
DialogInterface dialog,
int which) {
Toast.makeText(MainActivity.this,
"您放弃了删除", 0).show(); }
}).setPositiveButton("确认", new DialogInterface.OnClickListener() { @Override
public void onClick(DialogInterface dialog, int which) { Toast.makeText(MainActivity.this,
"删除成功", 0).show();
list.remove(position);
adapter.notifyDataSetChanged();
}
}).show(); }
}); } } @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main); // 寻找控件
findView(); // 为添加按钮设置点击监听事件
setClick();
} private void setClick() { button_add.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) { // 回调跳转到添加界面
Intent intent = new Intent(MainActivity.this, AddActivity.class);
startActivityForResult(intent, 1); }
}); } private void findView() { button_add = (Button) findViewById(R.id.button_add);
gv = (GridView) findViewById(R.id.gv);
TextView tv = (TextView) findViewById(R.id.tv_manager); } }
import java.util.HashMap;
import java.util.Map; import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.TextUtils;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast; public class AddActivity extends Activity { @Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_add); //找到该布局文件下的控件
final EditText edit_name=(EditText) findViewById(R.id.edit_name);
final EditText edit_author=(EditText) findViewById(R.id.edit_author);
Button button_a=(Button) findViewById(R.id.button_a); //点击添加按钮实现监听事件
button_a.setOnClickListener(new OnClickListener() { @Override
public void onClick(View v) { //获取输入框中的信息
String name = edit_name.getText().toString();
String author = edit_author.getText().toString(); if(TextUtils.isEmpty(name))
{
Toast.makeText(AddActivity.this, "图书名字不能为空", 0).show();
return;
} if(TextUtils.isEmpty(author))
{
Toast.makeText(AddActivity.this, "作者不能为空", 0).show();
return;
} //将页面信息封存为map集合
HashMap<String, String> map=new HashMap<String, String>();
map.put("name", name);
map.put("author", author); //将map集合存放在intent中并回调到主界面
Intent intent = getIntent();
intent.putExtra("map", map);
setResult(1, intent); //将本界面关闭
finish(); }
});
} }
startActivityForResult 页面跳转回调的更多相关文章
- model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)
model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转:解决的方法是用responsewrite
- Android first --- 页面跳转及数据传递
页面跳转即数据传递 创建第二个界面Acivity *需要在清单文件中添加配置一个Actuvity标签 标签中如果带有这个子节点,则会在Android中添加一个快捷图标 <intent-filte ...
- Android成长日记-使用Intent实现页面跳转
Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->st ...
- Intent实现页面跳转和传值
*Intent称为意图,是Android各大组件连接的桥梁 1.Activity页面跳转 同一个包内 Intent intent = new Intent(); intent.setClass(Mai ...
- phonegap + 推送 + 页面跳转 (ios)
os如果没有页面跳转的需求的话就使用极光推送,如果有页面跳转如果用了极光推送就只有用oc去写,但是我不会oc,所以智能放弃极光选用ios自己的apns来实现 新建项目跟安卓创建项目差不多,新建完成后就 ...
- Intent实现页面跳转
Intent实现页面跳转: 1. startActivity(intent) 2. startActivityForResult(intent,requestCode); onActivityResu ...
- 通过Manifest的配置信息实现页面跳转,及总结
1:新建一个xml文件,如second_view.xml文件,然后新建一个Activity如SecondActivity.java并在里面设置setContentView(R.layout.secon ...
- 微信小程序页面跳转导航wx.navigateTo和wx.redirectTo
}) wx.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面. 还是用上面的三张图示作为例子,当使用wx.redirctTo接口跳转页面时,原来的页面将被删除掉,当然,这是小 ...
- Android中实现activity的页面跳转并传值
一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求. 本次我们就讲一下,Android中页面跳转以及传值的几种方式 ...
随机推荐
- JMeter学习-008-JMeter 后置处理器实例之 - 正则表达式提取器(一)概述及简单实例
上文我们讲述了如何对 HTTP请求 的响应数据进行断言,以判断响应是否符合我们的预期,敬请参阅:JMeter学习-007-JMeter 断言实例之一 - 响应断言 那么我们如何获取 HTTP请求 响应 ...
- web系统权限设计
应该有七张表 1.appSystem 表: 主要在多系统中的 统一权限管理:主要就是系统的URL USE [Star_Permission] GO /****** 对象: Table [dbo].[A ...
- [代码片段]OSTU算法
用在片上系统上的 //OSTU求图像的阈值 u8 otsuThreshold(u8 **img, u16 height, u16 width) { // int width = frame->w ...
- 针对应用程序池“xxxxxx”的模板永久性缓存初始化失败,解决方法
日志名称: Application 来源: Active Server Pages 日期: 2014-11-22 9:09:39 事件 I ...
- POJ1326问题描述
Description Mileage program of ACM (Airline of Charming Merlion) is really nice for the travelers fl ...
- Android 保持Service不被Kill掉的方法--双Service守护 && Android实现双进程守护
本文分为两个部分,第一部分为双Service守护,第二部分为双进程守护 第一部分: 一.Service简介:Java.lang.Object ↳Android.content.Context ↳an ...
- applicationContext.xml文件放置位置不同而导致的jUnit测试的时候路径的不同
如果applicationContext.xml文件放置在src下面的的时候使用jUint测试的时候编写的路径应该是这样的: @Test public void testFindByPage() { ...
- 第十五篇 Integration Services:SSIS参数
本篇文章是Integration Services系列的第十五篇,详细内容请参考原文. 简介在前一篇,我们使用SSDT-BI将第一个SSIS项目My_First_SSIS_Project升级/转换到S ...
- Using Amazon API Gateway with microservices deployed on Amazon ECS
One convenient way to run microservices is to deploy them as Docker containers. Docker containers ar ...
- linux:习惯
1>.系统里面必须最少有两个账号,一个root,一个普通账户; 2>.平时登录系统均使用普通账户登录,除非需要配置或者执行特殊命令才切换至root; 3>.linux系统下严格区分大 ...