日常的开发中有可能会涉及到一些添加或者删除表格的操作,这时候需要用到GridView,在Android系统布局定义里,它是一个网络形状的Layout,我们可以用Adapter对其进行填充,并且可也自定义GridView的相关属性。

1. 布局文件:activity_main.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent"tools:context="com.example.mygridview.MainActivity"android:orientation="vertical"><DatePicker android:id="@+id/dp1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"/><TextView android:id="@+id/txt1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:layout_weight="1"/><GridView android:id="@+id/gv1"android:layout_width="fill_parent"android:layout_height="fill_parent"android:numColumns="auto_fit"android:verticalSpacing="10dp"android:horizontalSpacing="10dp"android:columnWidth="90dp"android:stretchMode="columnWidth"android:gravity="center"android:layout_weight="1"/><GridView android:id="@+id/gv2"android:layout_width="fill_parent"android:layout_height="fill_parent"android:numColumns="auto_fit"android:verticalSpacing="10dp"android:horizontalSpacing="10dp"android:columnWidth="90dp"android:stretchMode="columnWidth"android:gravity="center"android:layout_weight="1"/>
</LinearLayout>

2. 两个gridView.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="wrap_content"android:paddingBottom="4dip" ><TextViewandroid:id="@+id/ItemText"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_centerHorizontal="true"android:text="TextView01" ></TextView></RelativeLayout>

3. 主代码:

package com.example.mygridview;import java.util.ArrayList;
import java.util.HashMap;import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.GridView;
import android.widget.SimpleAdapter;public class MainActivity extends Activity {public GridView gridView1, gridView2;private ArrayList<HashMap<String, Object>> lstImageItem, lstItem;private SimpleAdapter saImageItems, saImages;public void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);gridView1 = (GridView) findViewById(R.id.gv1);gridView2 = (GridView) findViewById(R.id.gv2);// 生成动态数组,并且转入数据lstImageItem = new ArrayList<HashMap<String, Object>>();lstItem = new ArrayList<HashMap<String, Object>>();for (int i = 0; i < 10; i++) {HashMap<String, Object> map = new HashMap<String, Object>();map.put("ItemText", "NO." + String.valueOf(i));lstImageItem.add(map);}saImageItems = new SimpleAdapter(this, lstImageItem,R.layout.act_gridview, new String[] { "ItemText" },new int[] { R.id.ItemText });saImages = new SimpleAdapter(this, lstItem, R.layout.act_gridview1,new String[] { "ItemText" }, new int[] { R.id.ItemText });gridView1.setAdapter(saImageItems);gridView2.setAdapter(saImages);gridView1.setOnItemClickListener(new ItemClickListener());gridView2.setOnItemClickListener(new ItemClickListener1());}class ItemClickListener implements OnItemClickListener {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {// TODO Auto-generated method stub@SuppressWarnings("unchecked")HashMap<String, Object> item = (HashMap<String, Object>) parent.getItemAtPosition(position);setTitle((String) item.get("ItemText"));HashMap<String, Object> map = new HashMap<String, Object>();map.put("ItemText", (String) item.get("ItemText"));lstItem.add(map);lstImageItem.remove(position);saImageItems.notifyDataSetChanged();saImages.notifyDataSetChanged();}}class ItemClickListener1 implements OnItemClickListener {@Overridepublic void onItemClick(AdapterView<?> parent, View view, int position,long id) {// TODO Auto-generated method stub@SuppressWarnings("unchecked")HashMap<String, Object> item = (HashMap<String, Object>) parent.getItemAtPosition(position);setTitle((String) item.get("ItemText"));HashMap<String, Object> map = new HashMap<String, Object>();map.put("ItemText", (String) item.get("ItemText"));lstImageItem.add(map);lstItem.remove(position);saImageItems.notifyDataSetChanged();saImages.notifyDataSetChanged();}}
}

转载于:https://www.cnblogs.com/tony-void/p/4529758.html

Android中GridView实现互相添加和删除相关推荐

  1. Android中实现为TextView添加多个可点击的文本

    这篇文章主要介绍了Android中实现为TextView添加多个可点击的文本,可实现类似Android社交软件显示点赞用户并通过用户名称进入该用户主页的功能,是非常实用的技巧,需要的朋友可以参考下.具 ...

  2. PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆...

    PHP中Cookie的使用---添加/更新/删除/获取Cookie 及 自动填写该用户的用户名和密码和判断是否第一次登陆  什么是cookie 服务器在客户端保存用户的信息,比如登录名,密码等 这些数 ...

  3. python列表增加一行_Python 列表中的修改、添加和删除元素的实现

    本文介绍的是列表中的修改.添加和删除元素.第一次写博客,如果本文有什么错误,还请大家评论指正.谢谢! 创建的列表大多数都将是动态的,这就意味着列表创建后,将随着程序的运行删减元素. 修改列表元素 修改 ...

  4. android gridview居中,Android中GridView布局实现整体居中方法示例

    前言 本文主要给大家介绍了关于Android中GridView布局整体居中的相关内容,是对于自己在项目中遇到问题的一个记录,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 效果图: ...

  5. android 侧滑删除功能,200行代码让你在Android中完美实现iOS版侧滑删除效果

    使用几个月的IOS之后,发现IOS中侧滑删除俺就 大家好,自己开始学习Android已经差不多半年了吧,前前后后看了不少的博客获益匪浅.渐渐的随着技术的提升,慢慢感觉网上其它的一些功能的实现又不是那么 ...

  6. Android中GridView的实现实例

    实现效果: activity文件代码: package com.tmacsky; import android.app.Activity; import android.os.Bundle; impo ...

  7. android中gridview实现动态表格,Android--GridView实现动态文字排版

    一.一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个ListAdapter和该组件进行关联.比如android手机中显示的应用: 比如实现九宫格图,用GridView是首选,也是最 ...

  8. Android中GridView 如何正方形显示图片并适配手机

    刚刚做了一个项目,是做应用墙相关的,就是把一个个应用的图标和名称显示到GridView中.本来想着,像GridView这样常用成熟的控件,使用应该非常的简单,但真正在项目中实现起来,就有各种各样的小问 ...

  9. Map集合中的方法(添加、删除、判断、获取)

    /* Map集合:该集合存储键(K)值(V)对,一对一往里存,而且要保证键的唯一性. 1.添加 put(K key,V value) putAll(Map<? extends K,? exten ...

最新文章

  1. user_all_tables,user_tables等视图的说明
  2. 菜单自定义图标_操作系统任务栏了解多少,Windows server 2008 R2自定义通知区域...
  3. 携Science封面、NIPS最佳论文,CMU大神博士毕业论文公开
  4. verilog奇偶分频
  5. 迁移用友U8 ERP服务器
  6. nginx优化配置(转)
  7. 【手写数字识别】基于matlab GUI模板匹配手写数字识别【含Matlab源码 094期】
  8. 计算机局域网硬件维护与网络安全的分析
  9. 产品基础——认识竞品分析
  10. android 命令截图,Android截图命令screencap与视频录制命令screenrecord
  11. linux mysql命令不存在_mysql命令、mysqldump命令找不到解决
  12. 跟叶子猿学习JVM(二)Java虚拟机内存管理
  13. 你知道chrome小恐龙游戏吗?3分钟使用JavaScript实现
  14. iOS开发初学者入门需要学习哪些知识?
  15. 解决电脑能够登录QQ,但是不能打开网页的问题
  16. Duilib的界面设计工具DuiDesigner的使用说明
  17. 跨界融合,共创智能汽车研发新生态(技术大会诚邀您的莅临)
  18. 二手车微信小程序来袭
  19. java 树形图_java实现树状图
  20. 荷混凝柱截StructureРoint spColumn 5.50 1CD载筋

热门文章

  1. java url压缩_URL短地址压缩算法 微博短地址原理解析 (Java实现)
  2. printf()的冷门用法+格子中输出--蓝桥杯
  3. 纠错编码--海明码(动一发而牵全身)
  4. Csrf漏洞概述及其原理
  5. bzoj 2442: [Usaco2011 Open]修剪草坪(单调队列)
  6. bzoj 3632: 外太空旅行(随机)
  7. 吴恩达神经网络和深度学习-学习笔记-27-多任务学习
  8. python数据挖掘案例系列教程——python实现搜索引擎
  9. python应用系列教程——python使用socket创建udp服务器端和客户端
  10. c#获取屏幕上某坐标点的颜色