`
苹果超人
  • 浏览: 199854 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

GridView

阅读更多
  GridView是一个类似于"表格化"的二位排版配置View,当GridView里的元素多到画面放不下时,就会出现scrolling的效果,一般在GridView里面的元素称为Item,要将文字作为Item放入GridView,就要借助ArrayAdapter对象。
  另外GridView的setSelection方法我还是不怎么明白,望了解的朋友告知,谢谢。
package com.kevin.gridview;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.AdapterView;
import android.widget.AdapterView.OnItemClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.GridView;
import android.widget.ListAdapter;
import android.widget.TextView;

public class Main extends Activity {
	private Button button1,button2;
	private GridView gridView;
	private TextView tv_title;
	private String[] data1,data2;
	private ListAdapter adapter;
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        data1 = new String[]{
        	"苹果",
        	"香蕉",
        	"桃子",
        	"梨子"
        };
        data2 = new String[]{
        	"苹果",
            "香蕉",
            "桃子",
            "梨子",
            "葡萄",
            "桔子",
            "柚子",
            "西瓜",
            "甘蔗"
        };
        button1 = (Button)findViewById(R.id.button1);
        button2 = (Button)findViewById(R.id.button2);
        gridView = (GridView)findViewById(R.id.gridView1);
        tv_title = (TextView)findViewById(R.id.tv_title);
        button1.setOnClickListener(new ButtonClickedListener());
        button2.setOnClickListener(new ButtonClickedListener());
        gridView.setOnItemClickListener(new OnItemClickListener() {

			@Override
			public void onItemClick(AdapterView<?> parent, View view, int position,
					long id) {
				// 判断Adapter离得元素个数,判断被单击的是第几个元素
				switch (adapter.getCount()) {
				case 4:
					tv_title.setText(data1[position]);
					System.out.println((String)adapter.getItem(position));
					break;
				case 9:
					tv_title.setText(data2[position]);
					System.out.println((String)adapter.getItem(position));
					break;
				default:
					break;
				}
			}
		});
    }
    class ButtonClickedListener implements OnClickListener{
		@Override
		public void onClick(View v) {
			Button button = (Button)v;
			switch (button.getId()) {
			case R.id.button1:
				// 设置4个元素,以2列方式显示(2*2)
				gridView.setNumColumns(2);
				adapter = new ArrayAdapter<String>(Main.this, android.R.layout.simple_list_item_1,data1);
				gridView.setAdapter(adapter);
//设置了没有效果。。。。
//				gridView.setSelection(2);
//				gridView.setSelector(R.drawable.icon);
//				gridView.refreshDrawableState();
				break;
			case R.id.button2:				
				// 设置9个元素,以2列方式显示(3*3)
				gridView.setNumColumns(3);
				adapter = new ArrayAdapter<String>(Main.this, android.R.layout.simple_list_item_1,data2);
				gridView.setAdapter(adapter);
				break;
			default:
				break;
			}
		}
    	
    }
}
分享到:
评论
3 楼 pp_hdsny 2013-08-30  
[color=orange][/color]
2 楼 pp_hdsny 2013-08-30  
[align=center][size=x-large][img]
引用
:roll: :wink: :arrow: :?: :P :P :twisted:
[/img][/size][/align]
1 楼 7月yiyi 2012-01-31  
我不知道你说的没有效果是什么意思,setselection(int index)是让焦点在index位置上,你在main.xml里图片设置焦点高亮,看看能不能看到效果。我试过是可以的。
可能你的item没有那么多,只在一个界面上。假如0-10张图片在第一页,11-20需要下滚才能看到,这个时候你设置下setselection(12),它就会滚到可以显示第12张图片的位置。
再不行,你就自己设置一个menu,利用下面那个方法看看setselection的效果。
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub

switch( item.getItemId()){
case( R.id.menu1):
gridview.setSelection(0);
break;
case(R.id.menu2):

gridview.setSelection(10);

}
return super.onOptionsItemSelected(item);
}

相关推荐

    GridView内嵌套使用GridView

    在ASP.NET开发中,GridView控件是用于展示数据的强大工具,尤其在呈现表格形式的数据时。在本项目中,我们探讨的主题是“GridView内嵌套使用GridView”,这通常是为了实现更复杂的数据显示,例如,当数据有层次关系...

    GridView固定表头和列 实例(GridView冻结表头和列)

    在ASP.NET开发中,GridView控件是用于展示数据表格的常用工具,尤其在处理大量数据时,它提供了灵活的配置和样式化选项。本实例主要关注如何实现GridView的固定表头和列,使得用户在滚动浏览长表格时,表头和部分列...

    android Gridview分页实现

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。当我们处理大量数据时,分页加载可以提高应用性能,减少内存消耗,并提供更好的用户体验。本篇文章将详细讲解如何在Android中利用...

    自定义的各种风格gridview

    在Android开发中,GridView是一种非常常见的布局控件,它允许我们以网格的形式展示数据,通常用于创建像照片墙、应用列表等界面。本教程将深入探讨如何自定义各种风格的GridView,包括刷新、加载和横向展示等特性。 ...

    GridView+FormView 示範資料

    GridView 和 FormView 是 ASP.NET Web Forms 中常用的两种数据呈现控件,它们在构建动态数据驱动的Web应用程序时扮演着重要角色。在这个“GridView+FormView 示例资料”中,我们将深入探讨这两种控件的功能、用途...

    GridView的点击事件

    GridView是Android开发中常用的一种控件,主要用于展示数据集,通常以网格的形式排列。它在各种应用中,如图片浏览、应用列表等场景下广泛应用。理解并掌握GridView的点击事件对于构建用户友好的界面至关重要。 ...

    ASP .Net GridView CSS 模板样式

    ASP.NET GridView 控件是开发Web应用程序时常用的组件,它用于显示和操作数据表格。GridView以其灵活性和易用性,成为了.NET框架中展示数据的强大工具。然而,标准的GridView样式往往较为简单,不符合现代网页设计的...

    GridView实现左右滑动

    GridView是Android开发中常见的一种控件,主要用于展示数据集,通常以网格的形式排列。它允许用户在垂直方向上下滚动,但默认情况下不支持水平滑动。然而,标题中提到的需求是在智能手机甚至智能电视上实现GridView...

    GridView动态添加模板列

    GridView动态添加模板列知识点汇总 在 ASP.NET 中,GridView控件是最常用的数据展示控件之一,然而,在实际开发中,我们经常需要根据不同的业务需求动态添加模板列,以满足不同的数据展示需求。那么,如何动态添加...

    设置gridview列宽(超好用)

    在IT领域,尤其是在Web开发中,GridView控件是ASP.NET中一个非常强大的工具,用于在网页上展示数据。本文将详细介绍如何在C#与ASP.NET环境下设置GridView的列宽,这是一个常见但至关重要的操作,能够显著提升用户...

    对GRIDVIEW的美化.zip

    在ASP.NET开发中,GridView控件是用于展示数据表格的常用组件,特别是在处理数据库查询结果时。本资源“对GRIDVIEW的美化.zip”提供了一种方法来提升GridView的视觉效果,使其更加美观和用户友好。以下是对GridView...

    GridView平均分配布局

    GridView是Android开发中常见的一种控件,用于展示数据集,如图片、文字等,并以网格的形式进行排列。在Android应用开发中,GridView常用于创建类似相册或菜单的界面,用户可以通过横向滑动来查看更多的内容。这个...

    漂亮的GridView样式

    【漂亮的GridView样式】是关于在Web开发中,特别是ASP.NET环境中美化GridView控件的一个主题。GridView控件通常用于展示数据表格式的信息,如数据库查询结果。在这个主题中,作者通过CSS(层叠样式表)来改变...

    GridView多行编辑(C#)

    ### GridView多行编辑(C#) 在本篇技术文章中,我们将深入探讨如何使用ASP.NET中的`GridView`控件实现多行编辑功能。`GridView`是一个非常强大的数据绑定控件,可以方便地显示、编辑和更新数据库中的数据。通过本...

    GridView的左右滑动+分页

    在Android开发中,GridView是一种常见的布局管理器,用于展示数据集,通常以网格形式排列。在标题"GridView的左右滑动+分页"中,提到的功能是为GridView添加左右滑动以及分页加载数据,这在处理大量数据时非常有用,...

    GridView设置选中状态

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据,通常用于创建列表或展示图片。在很多应用中,我们可能需要实现GridView的选中效果,包括设置默认选中项以及选中后的视觉反馈。...

    gridview动态添加空白行

    ### GridView动态添加空白行 在ASP.NET开发过程中,经常需要对`GridView`控件进行操作,比如动态地向其中添加数据或空行等。本文将详细介绍如何实现ASP.NET后台动态添加`GridView`空行的功能。 #### 知识点概述 1...

    Smobiler实现列表展示—GridView

    在Smobiler中,GridView控件是一种常用的UI组件,用于显示数据列表,类似于其他编程环境中的ListView或者DataGrid。本篇文章将深入探讨如何利用Smobiler实现列表展示,特别是通过GridView控件来达到这一目标。 首先...

    GridView中的Item放大缩小

    在Android开发中,GridView是一种常用的布局控件,它允许我们以网格的形式展示数据。当我们想要在GridView中实现每个Item(单元格)的放大缩小效果时,通常涉及到自定义Adapter、处理点击事件以及调整视图大小等多个...

Global site tag (gtag.js) - Google Analytics