- 浏览: 195616 次
- 性别:
- 来自: 上海
文章分类
最新评论
GridView是一个类似于"表格化"的二位排版配置View,当GridView里的元素多到画面放不下时,就会出现scrolling的效果,一般在GridView里面的元素称为Item,要将文字作为Item放入GridView,就要借助ArrayAdapter对象。
另外GridView的setSelection方法我还是不怎么明白,望了解的朋友告知,谢谢。
另外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; } } } }
- GridViewDemo4.zip (45 KB)
- 下载次数: 18
评论
3 楼
pp_hdsny
2013-08-30
[color=orange][/color]
2 楼
pp_hdsny
2013-08-30
[align=center][size=x-large][img]
[/img][/size][/align]引用:roll: :wink: :arrow: :?: :P :P :twisted:
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);
}
可能你的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);
}
发表评论
-
Linkify规则
2011-07-15 15:36 1032Linkify对象可以让系统动态获取,并迅速做出判断;也就 ... -
AppWidget
2011-07-15 15:21 1405以前我们所见的Widget都是以Activity为主体的, ... -
SlidingDrawer
2011-07-15 13:11 2419SlidingDrawer(隐藏式抽屉),它配置上采用了水 ... -
图片处理
2011-07-15 10:14 952Android中提供了Bitmap和BitmapFacto ... -
ListView
2011-07-15 09:12 2080这里主要说一下,ListView支持OnItemClick ... -
ProgressBar
2011-07-14 15:03 2612还记得前面的ProgressDialog吗?在应用时,必须 ... -
DatePicker和TimePicker
2011-07-14 13:42 1112难点没什么难点,主要注意一下,DatePicker的OnD ... -
AnalogClock和DigitalClock
2011-07-14 13:07 1273本篇主要介绍一下AnalogClock和DigitalCl ... -
AutoCompleteTextView
2011-07-14 11:09 1357AutoCompleteTextView具有自动提示功能, ... -
Spinner
2011-07-14 09:44 1576Spinner控件的使用: 1. 创建SpinnerA ... -
RadioGroup
2011-07-13 16:24 1650RadioGroup是用于让用户进行单选的选择按钮,用法很 ... -
自定义Toast效果
2011-07-13 15:18 1227Toast友好用户提示。下面是自己自定义一个Toast。显 ... -
EditText输入内容即时捕捉----OnKeyListner事件
2011-07-13 13:25 3094要想即时捕捉EditText中输入的内容,只要给EditT ... -
Checkbox(打勾显示输入的密码)
2011-07-13 13:04 1631要想判断Checkbox是不是被选中,必须注册OnChec ... -
选择对话框
2011-07-13 11:06 1003这个简单,直接代码 package com.kevin. ... -
ProgressDialog
2011-07-13 10:23 1651ProgressDialog必须要在 ... -
Adapter
2011-07-12 16:25 990该图为adapter之间的关系。 主要说几点: 1. L ... -
控制不同的文字字体
2011-07-12 15:27 1752TextView对象中有许多 ... -
Menu和AlertDialog对话框
2011-07-12 15:06 1267要在一个activity中实现菜单必须重写两个方法: ... -
startActivityForResult Demo
2011-07-12 14:28 3444startActivityForResult(Itent ...
相关推荐
GridView空间中的各种使用方法,包括GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到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 的各种技巧 快速预览: GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行...
在VS2005下实现GridView内嵌套使用GridView
1.GridView无代码分页排序: 2.GridView选中,编辑,取消,删除: 3.GridView正反双向排序: 4.GridView和下拉菜单DropDownList结合: 5.GridView和CheckBox结合: 6.鼠标移到GridView某一行时改变该行的背景色...
GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...
GridView的点击事件 GridView的点击事件 GridView的点击事件
android Gridview分页实现的一个小例子
GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...
GridView 是一个网格布局的列组件。GridView 继承至 CustomScrollView,有 CustomScrollView 的特性。
这个与asp.net中GridView相关的一个实例,实现GridView冻结表头和列,挺好用的。
GridView图片墙,ListView嵌入GridView
设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽设置gridview列宽
C# GridView自动列宽 C# GridView自动列宽 C# GridView自动列宽
GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到...
GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...
在vs2005中,当打开页面显示学生信息。可对学生信息进行查询(动态连接数据库) ...对gridview控件进行了系统的分析,和测试。主要用于学习,参考。希望大家能通过此而明白.net里面的一些控件的用法。
GridView水平滚动源码 源码描述: 当GridView中字段很多屏幕放不下的时候, 我们可以考虑给GridView加入水平滚动条来展示数据来自51ASPX。 Add Jquery reference to the master page. Create a style as follows. ...
GridView无代码分页排序 GridView选中,编辑,取消,删除 GridView正反双向排序 GridView和下拉菜单DropDownList结合 GridView和CheckBox结合 鼠标移到GridView某一行时改变该行的背景色方法一 鼠标移到GridView某一...
这个demo是自己整理后应用的,添加图片是仿照微信上传图片时的弹出框,包含拍照和本地图片选取两部分,并且无论是本地选择相片还是拍照上传相片都带有裁剪功能,上传的图片添加到gridview九宫格中,点击选择的图片还...