`
苹果超人
  • 浏览: 195616 次
  • 性别: 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空间中的各种使用方法,包括GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行...

    GridView控件实现树形结构

    实现GridView树形排序 表的定义: DataTable dtFun = new DataTable(); //[Level],[PID],[ID],[Code],[Name],[Type],[Url] dtFun.Columns.Add("Level", typeof(string)); dtFun.Columns.Add("PID", typeof(string)...

    C# GridView 76种绝技必杀

    C# GridView 的各种技巧 快速预览: GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行...

    GridView内嵌套使用GridView

    在VS2005下实现GridView内嵌套使用GridView

    gridview72版绝技

    1.GridView无代码分页排序: 2.GridView选中,编辑,取消,删除: 3.GridView正反双向排序: 4.GridView和下拉菜单DropDownList结合: 5.GridView和CheckBox结合: 6.鼠标移到GridView某一行时改变该行的背景色...

    GridView表格的各种使用技巧

    GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...

    GridView的点击事件

    GridView的点击事件 GridView的点击事件 GridView的点击事件

    android Gridview分页实现

    android Gridview分页实现的一个小例子

    上百种GridView操作绝技

    GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...

    Flutter GridView网格布局

    GridView 是一个网格布局的列组件。GridView 继承至 CustomScrollView,有 CustomScrollView 的特性。

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

    这个与asp.net中GridView相关的一个实例,实现GridView冻结表头和列,挺好用的。

    GridView图片墙,ListView嵌入GridView

    GridView图片墙,ListView嵌入GridView

    设置gridview列宽(超好用)

    设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽

    C# GridView自动列宽

    C# GridView自动列宽 C# GridView自动列宽 C# GridView自动列宽

    GridView绝技.rar

    GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到...

    GridView完全入门资料

    GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...

    对gridview进行动态添加,删除,修改,查询

    在vs2005中,当打开页面显示学生信息。可对学生信息进行查询(动态连接数据库) ...对gridview控件进行了系统的分析,和测试。主要用于学习,参考。希望大家能通过此而明白.net里面的一些控件的用法。

    GridView水平滚动源码2012518

    GridView水平滚动源码 源码描述: 当GridView中字段很多屏幕放不下的时候, 我们可以考虑给GridView加入水平滚动条来展示数据来自51ASPX。 Add Jquery reference to the master page. Create a style as follows. ...

    B/S GridView开发技巧

    GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...

    使用gridView完成添加图片功能

    这个demo是自己整理后应用的,添加图片是仿照微信上传图片时的弹出框,包含拍照和本地图片选取两部分,并且无论是本地选择相片还是拍照上传相片都带有裁剪功能,上传的图片添加到gridview九宫格中,点击选择的图片还...

Global site tag (gtag.js) - Google Analytics