`
stephen830
  • 浏览: 3009851 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

GridView与数据绑定

 
阅读更多

GridView与数据绑定

 

 

参考转载:http://www.cnblogs.com/over140/archive/2010/10/19/1855366.html

 

一个在平面上可显示多个条目的可滚动的视图组件,该组件中的条目通过一个ListAdapter和该组件进行关联。比如android手机中显示的应用:


 

比如实现九宫格图,用GridView是首选,也是最简单的。

 

 

GridView 的 XML属性

属性名称

描述

android:columnWidth

设置列的宽度。

 

关联的方法为: setColumnWidth(int)

以像素为单位

android:gravity

设置控件内容的位置。可选的值有: top bottom left right center_vertical fill_vertical center_horizontal fill_horizontal center fill clip_vertical 可以多选,用“ |”分开。

 

关联方法: setGravity (int gravity);

方法参数的常量定义参考Gravity.*

默认值为:Gravity.LEFT

android:horizontalSpacing

两列之间的间距。

 

关联方法: setHorizontalSpacing(int)

android:numColumns

列数。

 

关联方法: setNumColumns(int)

android:stretchMode

设置 grid中的条目以什么缩放模式去填充空间

 

关联方法: setStretchMode(int)

方法参数的常量定义参考GridView.* ,可选值: NO_STRETCH STRETCH_SPACING STRETCH_SPACING_UNIFORM ,或 STRETCH_COLUMN_WIDTH

android:verticalSpacing

两行之间的间距。

 

关联方法: setVerticalSpacing(int)

 

 

 

 

以下是具体的例子:

 


 例子效果图

 

 

main_grid_view.xml配置

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<GridView
    android:id="@+id/main_grid_view_gridview"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:numColumns="4"
    android:verticalSpacing="10dip"
    android:horizontalSpacing="10dip"
    android:stretchMode="columnWidth"
    android:gravity="center"
    />
</LinearLayout>
 

 

main_grid_view_item.xml配置

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
	android:id="@+id/RelativeLayout_Item"
	android:layout_width="fill_parent" android:layout_height="wrap_content"
	android:paddingBottom="5dip"
	>
	<ImageView 
		android:id="@+id/main_grid_view_item_item_image"
		android:layout_centerHorizontal="true" 
		android:layout_width="wrap_content"
		android:layout_height="wrap_content"
		/>
	<TextView 
		android:layout_below="@id/main_grid_view_item_item_image" 
		android:id="@+id/main_grid_view_item_item_text"
		android:layout_centerHorizontal="true" 
		android:layout_width="wrap_content"
		android:layout_height="wrap_content" 
		/>
</RelativeLayout>
 

 

 

Activity代码

        //定义选项菜单
    private String[] allOptionsMenuTexts = {"删除","保存","帮助","添加","详细","发送","电话","照相"};
    private int[] allOptionsMenuOrders = {5,2,6,1,4,3,7,8};
    private int[] allOptionsMenuIds = {Menu.FIRST+1,Menu.FIRST+2,Menu.FIRST+3,Menu.FIRST+4,Menu.FIRST+5,Menu.FIRST+6,Menu.FIRST+7,Menu.FIRST+8};
    private int[] allOptionsMenuIcons = {
    		android.R.drawable.ic_menu_delete,
    		android.R.drawable.ic_menu_edit,
    		android.R.drawable.ic_menu_help,
    		android.R.drawable.ic_menu_add,
    		android.R.drawable.ic_menu_info_details,
    		android.R.drawable.ic_menu_send,
    		android.R.drawable.ic_menu_call,
    		android.R.drawable.ic_menu_camera
    		};
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main_grid_view);
        //展示GridView
        showGridView();
    }
    
    /**
     * 显示GridView.
     */
    public void showGridView(){
    	final Context context = this;
    	Integer[] itemImages = new Integer[allOptionsMenuIcons.length];
    	for(int i=0;i<itemImages.length;i++){
    		itemImages[i] = new Integer(allOptionsMenuIcons[i]);
    	}
    	
    	//绑定GridView组件内容
    	List<Object[]> itemValues = new ArrayList<Object[]>();
    	itemValues.add(allOptionsMenuTexts);
    	itemValues.add(itemImages);
    	
    	//定义适配器to参数
    	int[] to = {R.id.main_grid_view_item_item_text,R.id.main_grid_view_item_item_image};
    	int resource = R.layout.main_grid_view_item;
    	
    	//生成适配器:使用自定义工具类 SimpleAdapterUtil.java来生成适配器
    	SimpleAdapter simpleAdapter = SimpleAdapterUtil.create(context,itemValues,resource,to);
    	
    	GridView gridView = (GridView)findViewById(R.id.main_grid_view_gridview);
    	gridView.setColumnWidth(50);//列宽
    	gridView.setNumColumns(3);//列数=3
    	gridView.setHorizontalSpacing(50);//列间距=50
    	gridView.setVerticalSpacing(60);//行间距=60
    	gridView.setGravity(Gravity.CENTER);//展示位置:可以参考Gravity.*中的定义
    	gridView.setStretchMode(GridView.NO_STRETCH);//设置 grid中的条目以什么缩放模式去填充空间:可以参考GridView.*中的定义
    	gridView.setAdapter(simpleAdapter);
    	//监听item点击事件
    	gridView.setOnItemClickListener(new OnItemClickListener(){
			@Override
			public void onItemClick(AdapterView<?> parent, View view,
					int position, long id) {
				Toast.makeText(context, "["+allOptionsMenuTexts[position]+"]被点击了", Toast.LENGTH_SHORT).show();
			}
    	});
    	
    }
    
 

 

 

备注:SimpleAdapterUtil工具类的完整代码,可以看这篇文章《1个简单的SimpleAdapter工具类-SimpleAdapterUtil 》。

 

 

  • 大小: 14.6 KB
  • 大小: 22.8 KB
分享到:
评论
1 楼 duwanbo 2016-09-21  
    

相关推荐

    C#操作GridView控件绑定数据实例详解一文的实例代码

    C#操作GridView控件绑定数据实例详解一文的实例代码,包含GridView的全部功能: (1)绑定数据源(List) (2)编辑:修改、更新、取消、删除 ...(3)搜索查询、翻页、行样式、数据绑定 (4)常见的错误与处理方法

    DevExpress的GridView动态绑定数据集,多线程动态修改UI自动刷新

    在C#中,你可以使用`BindingSource`对象作为数据中介,将数据源(如DataSet或DataTable)与GridView关联起来。例如: ```csharp DataSet dataSet = new DataSet(); // 加载数据到dataSet... BindingSource binding...

    gridview分页及数据绑定代码

    本知识点主要探讨如何实现GridView的分页功能以及与SQL数据库的数据绑定。 首先,GridView的分页功能是通过设置其`AllowPaging`属性为`true`来开启的。在页面加载时,可以设置`PageSize`属性来定义每页显示的数据条...

    gridview数据绑定和自定义分页

    本主题将深入探讨“GridView数据绑定”与“自定义分页”这两个关键知识点。 首先,让我们理解GridView数据绑定的概念。数据绑定是ASP.NET的核心特性之一,它允许开发者将服务器端的数据源(如数据库、数组或集合)...

    Gridview数据绑定

    在本主题中,我们将深入探讨"Gridview数据绑定"的概念及其在C#中的实现方式。 1. GridView概述: GridView是一种服务器端控件,它能够自动将数据源中的数据渲染成一个可编辑或只读的表格。它提供了丰富的功能,如...

    一个gridview数据绑定和分页

    本教程主要关注"gridview数据绑定和分页"这一主题,旨在帮助新手快速掌握这两项关键技能。 首先,我们来详细讲解数据绑定。数据绑定是将数据源(如数据库、XML文件或数组)中的数据与UI元素(如GridView)关联的...

    Gridview 与数据库数据绑定

    一步一步详解gridview与数据库连接过程 视频swf格式 请确认安装相关播放器

    ASP.NET中的数据绑定-gridview

    ASP.NET中的数据绑定-gridview,对此不了解的朋友们可以看下。

    Gridview数据绑定实例

    这个“Gridview数据绑定实例”是关于如何有效地利用GridView与各种数据源进行绑定,以便在Web应用程序中展示和处理数据的示例。下面我们将详细探讨GridView的数据绑定机制、步骤以及相关的知识点。 1. GridView概述...

    Gridview数据绑定2

    "Gridview数据绑定2"这个主题主要涵盖了如何更深入地理解和使用GridView控件来绑定和操作数据。在ASP.NET 2.0中,数据绑定是将数据源与UI元素关联起来的过程,使得数据可以动态地呈现给用户。 首先,我们来讨论...

    GridView控件的绑定

    GridView控件使用两种主要的数据绑定方式:声明式绑定和编程式绑定。 1. 声明式绑定:在ASP.NET页面的HTML标记中直接指定DataSourceID属性,使GridView自动与数据源控件(如SqlDataSource、ObjectDataSource等)...

    实现Gridview的自定义绑定与编辑

    默认情况下,GridView会绑定到数据源,如SQLDataSource或ObjectDataSource。但有时我们需要更精细的控制,例如处理复杂的数据结构或者在数据呈现时进行特定的格式化。这时,我们可以选择自定义绑定,通过代码来设置...

    sharepoint gridview绑定

    - 数据绑定是ASP.NET的核心特性之一,它允许UI控件(如GridView)与数据源进行交互,动态地显示和更新数据。 - 在SharePoint中,GridView可以绑定到多种数据源,包括SharePoint列表、SPDataSource、ObjectModel...

    用gridview通过代码绑定数据,同时用aspnetpager实现分页

    在传统的数据绑定方式中,我们通常会使用SqlDataSource或类似的控件来直接连接数据库并自动填充GridView。但是,通过代码实现数据绑定,我们可以更好地控制数据处理的每一个步骤,包括查询、筛选、排序等。 1. **...

    GridView数据绑定小技巧

    总结起来,GridView数据绑定小技巧主要包括: 1. 在Page_Load事件中,使用SqlDataReader读取数据并绑定到GridView。 2. 利用GridView的RowDataBound事件对每一行数据进行自定义处理,以满足特定的显示需求。 3. 在...

    数据绑定GridView控件运用

    在这个主题中,我们将深入探讨“数据绑定GridView控件”的运用,特别是其在分页和使用模板列实现全选功能上的应用。 1. 数据绑定概述: 数据绑定是ASP.NET的核心特性之一,它允许控件与数据源之间进行交互,动态地...

    DevExpress简单的数据绑定

    数据绑定是.NET框架中的核心概念,允许UI元素与数据源动态关联。在DevExpress GridControl中,数据绑定使你可以将数据集、实体框架模型或其他数据结构映射到控件的行和列,实现数据的实时更新。 2. **数据源选择**...

    asp.net, c#,gridview对数据进行绑定,增加,查询,删除,修改,数据,

    首先,数据绑定是GridView的核心功能。在ASP.NET中,可以使用SQLDataSource或ObjectDataSource来绑定数据。例如,从数据库获取数据,通过`&lt;asp:SqlDataSource&gt;`标签设置连接字符串和SQL查询,然后将DataSourceID属性...

    Repeater DataList GridView数据绑定

    DataList的数据绑定与Repeater类似,但提供了内置的分页和排序功能。我们可以使用`DataKeyNames`属性来设置主键,便于后续的编辑和删除操作。`EditItemTemplate`和`ItemTemplate`分别用于显示编辑和非编辑状态的数据...

    c# asp.net gridview数据绑定

    本篇文章将详细探讨“C# ASP.NET GridView数据绑定”这一主题。 1. **数据源** 在进行数据绑定前,我们需要一个数据源。在ASP.NET中,数据源可以是各种类型,包括但不限于SQL Server数据库、XML文件、数组或列表等...

Global site tag (gtag.js) - Google Analytics