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中页面跳转以及传值的几种方式 ...
随机推荐
- Selenium2学习-037-WebUI自动化实战实例-IE浏览器显示比例问题:org.openqa.selenium.remote.SessionNotFoundException: Unexpected error launching Internet Explorer. Browser zoom level was set to 94%. It should be set to 100%
好久没有写博文了,今天在给部门新人演示 Selenium WebDriver 启动其支持的各种浏览器时,启动 IE 时总是无法打开对应的百度网址,页面如下所示:
- CXF入门例子
1. WebService实现类:@WebService注解表示这个类发布为一个WebService服务. package com.coshaho.learn.cxf; import javax.jw ...
- Tomcat Context配置(转)
<Context>元素的属性:path:指定访问该Web应用的URL入口.docBase:指定Web应用的文件路径,可以给定绝对路径,也可以给定相对于<Host>的appBas ...
- php sql分离
sql.php <?php $con = mysql_connect("localhost","root","root"); mysq ...
- Linux环境命令大全
java环境比较常用的几个命令: cd / 切换目录, cd ../切换到上级目录 rm -rf 文件名 删除文件 jar -xvf 文件名 解压文件 mv 文件 新路径 将当前路径下面的文件移 ...
- Windows 7 / Windows 10 安装 IPX/SPX
以我的系统为例: Windows 7/10 x64 首先下载 NWLINK IPX/SPX 驱动(这是 Microsoft 对 IPX/SPX 的实现.) http://pan.baidu.com/s ...
- Can't add self as subview的困惑
2016-05-27 09:40:43.4043 UMLOG: event: session_id=B63F36D84AD478B9F95C7D0F05DD819B, event=user_choos ...
- bind: address already in use
2016/04/18 09:46:06 server.go:36: listen at 0.0.0.0:9530 2016/04/18 09:46:06 server.go:39: listen er ...
- 统计哪些程序占用了swap
命令如下 : for i in `cd /proc;ls |grep "^[0-9]"|awk ' $0 >100'` ;do awk '/Swap:/{a=a+$2}END ...
- MVC 上传文件并展示
最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学习代表你的将来. 十年河东十年河西,莫欺少年穷 学无止境,精益求精 最近在做自学MVC,遇到的问题很多,索性一点点总结 ...