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 页面跳转回调的更多相关文章

  1. model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转;解决的方法是用responsewrite(普通的字符响应)

    model,map,MapAndVivew用于页面跳转时候使用的即跳转后才添加属性 这样再回调中无法使用 因为回调的前提是页面不调转:解决的方法是用responsewrite

  2. Android first --- 页面跳转及数据传递

    页面跳转即数据传递 创建第二个界面Acivity *需要在清单文件中添加配置一个Actuvity标签 标签中如果带有这个子节点,则会在Android中添加一个快捷图标 <intent-filte ...

  3. Android成长日记-使用Intent实现页面跳转

    Intent:可以理解为信使(意图),由Intent来协助完成Android各个组件之间的通讯 Intent实现页面之间的跳转 1->startActivity(intent) 2->st ...

  4. Intent实现页面跳转和传值

    *Intent称为意图,是Android各大组件连接的桥梁 1.Activity页面跳转 同一个包内 Intent intent = new Intent(); intent.setClass(Mai ...

  5. phonegap + 推送 + 页面跳转 (ios)

    os如果没有页面跳转的需求的话就使用极光推送,如果有页面跳转如果用了极光推送就只有用oc去写,但是我不会oc,所以智能放弃极光选用ios自己的apns来实现 新建项目跟安卓创建项目差不多,新建完成后就 ...

  6. Intent实现页面跳转

    Intent实现页面跳转: 1. startActivity(intent) 2. startActivityForResult(intent,requestCode); onActivityResu ...

  7. 通过Manifest的配置信息实现页面跳转,及总结

    1:新建一个xml文件,如second_view.xml文件,然后新建一个Activity如SecondActivity.java并在里面设置setContentView(R.layout.secon ...

  8. 微信小程序页面跳转导航wx.navigateTo和wx.redirectTo

    }) wx.redirectTo(OBJECT) 关闭当前页面,跳转到应用内的某个页面. 还是用上面的三张图示作为例子,当使用wx.redirctTo接口跳转页面时,原来的页面将被删除掉,当然,这是小 ...

  9. Android中实现activity的页面跳转并传值

    一个Android应用程序很少会只有一个Activity对象,如何在多个Activity之间进行跳转,而且能够互相传值是一个很基本的要求. 本次我们就讲一下,Android中页面跳转以及传值的几种方式 ...

随机推荐

  1. zero3- JPA http://www.cnblogs.com/holbrook/archive/2012/12/30/2839842.html

    1.很好的博客:http://www.cnblogs.com/holbrook/archive/2012/12/30/2839842.html 2. 最新的搬到github : http://holb ...

  2. 深度实践KVM笔记

    深度实践KVM笔记 libvirt(virt-install,API,服务,virsh)->qemu(qemu-kvm进程,qemu-img)->KVM虚拟机->kvm.ko 内核模 ...

  3. 请问下./在Linux下是什么意思

    请问下./在Linux下是什么意思 http://zhidao.baidu.com/link?url=1f-80KN7cdi-7XECpwXLUn6Ps4reMBL2zB6eiDk7JliwDgW6k ...

  4. php 表单提交

    <?php header("Content-Type:text/html; charset=utf8"); class config{ public static funct ...

  5. 正确统计SQLServer的慢日志

    RDS的一个富有吸引力的服务是为用户提供慢日志的运行状况报告.报告从不同的维度(总执行时间,总执行次数,总逻辑读,总物理读)为用户提供TOP20的SQL.RDS希望在为用户提供稳定,快速服务的同时,用 ...

  6. android 线程学习

    很多人觉得线程难理解,主要有两个问题: 线程休眠,既然线程已经休眠了,程序的运行速度还能提高吗? 线程体一般都进行死循环,既然线程死循环,程序就应该死掉了,就会没有反应. 1.关于线程休眠问题 对线程 ...

  7. 学习"大众点评网的架构设计与实践"

    今天看了一篇"程序员"上的文章:"大众点评网的架构与实践",因为里面谈的架构演变之路中所经历的痛点对我的工作经验来说感同身受,所以觉得文章里的一些解决方案对我还 ...

  8. MS SQL SERVER 锁研究记录

    首先创建一直数据表 ChenJi,有如下字段: ID, DanWeiID,  Name,  ChenJi CREATE TABLE [dbo].[ChenJi]( [ID] [int] NOT NUL ...

  9. windows Azure 域名绑定

    windows Azure 的虚拟机的ip是会变化的,比如你关机.所以绑定域名用A记录就不太可靠. 你新建虚拟机的同时,也会新建一个云服务,给你一个类似XX.cloudapp.net的二级域名. 这样 ...

  10. node.js npm权限问题try running this command again as root/Administrator.

    npm install报错; try running this command again as root/Administrator. 以管理员身份打开cmd 开始菜单->所有程序->附 ...