`
gryphone
  • 浏览: 433690 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

ListView 中 item 循环显示

UP 
阅读更多

ListView 中 item 循环显示

 

 

[功能]

何谓循环显示 即

1. 此刻的 item 为最后一个 当继续往下翻的话 就会回到第一个

2. 而此刻的 item 是第一个 当继续往上翻 就会变为最后一个

 

 

[原理]

1. 一个 int ID  用于保存 选中的 item

2. 通过 onKeyDown() 捕捉ACTION 并判断是 向上 还是 向下

3. 把 二者 进行综合判断 然后设定 焦点

 

 

[代码 步骤]

1. 定义 int ID 并记录 选中的 item id

int ID = 0;


this.getListView().setOnItemSelectedListener(new OnItemSelectedListener(){

			@Override
			public void onItemSelected(AdapterView<?> arg0, View arg1,
					int arg2, long arg3) {
				// TODO Auto-generated method stub
				ID = arg2;
			}

			@Override
			public void onNothingSelected(AdapterView<?> arg0) {
				// TODO Auto-generated method stub
				
			}
        	
        });

 

 

2. 通过 onKeyDown 捕捉 keyCode  假如是自己关心的按键 再根据此刻的 ID  进行相应的设定

public boolean onKeyDown(int keyCode, KeyEvent msg){
    	if(keyCode == msg.KEYCODE_DPAD_DOWN){
    		if(ID == data.length - 1 ){
    			this.getListView().setSelection(0);
    		}
    	}
    	else if(keyCode == msg.KEYCODE_DPAD_UP){
    		if(ID == 0){
    			this.getListView().setSelection(data.length - 1);
    		}
    	}
    	
    	//super.onKeyDown(keyCode, msg);
		return false;
    }

 

 

 

done!

 

分享到:
评论
8 楼 leon19870907 2012-05-14  
这种做法考虑不够周全  要是我从第一个移动到最上面 马上就跳到第一个了 怎么办?
7 楼 gryphone 2010-03-05  
leelight 写道
如果用户是触摸,就是往下拖的惯性动作
你怎么捕捉呢?

可以用onFlipper() 捕捉啊 不过我因为是试验这个功能 所以没支持 但是难度也不大
6 楼 leelight 2010-03-04  
如果用户是触摸,就是往下拖的惯性动作
你怎么捕捉呢?
5 楼 hhhhhh1972 2010-02-25  
不错,谢谢
4 楼 superhanliu 2010-02-21  
这个很好,目前自带的一些软件都没有这个功能,不太爽
3 楼 gryphone 2010-02-10  
wafj1984 写道
什么意思的 

如果没有这些代码的话
当item是最后一个 就不可以继续往下翻了 同理 当item是第一个 也不可以继续往上翻了
2 楼 wafj1984 2010-02-10  
什么意思的 
1 楼 sunburst 2010-02-04  
不错,挺好的,学习到了,感谢楼主

相关推荐

    c# listview 实现循环滚动显示

    实现循环滚动的关键在于动态改变`ListView`中显示的项。这通常涉及到定时器(Timer)的使用,定时器每隔一段时间就会触发事件,更新ListView显示的内容。以下是一个基本的步骤: 1. **创建ListView和Timer**:在...

    VB 读取Excel表格数据并在ListView控件中显示

    在VB(Visual Basic)编程中,常常需要处理与Excel...以上就是关于“VB读取Excel表格数据并在ListView控件中显示”的主要知识点。通过掌握这些技能,你可以轻松地在VB程序中实现数据的导入和展示,提高应用的实用性。

    连接Excel并显示在ListView中

    - 填充ListView:通过循环遍历数据,使用`ListView.Items.Add(new ListViewItem(itemArray))`添加每一行数据到ListView中,其中itemArray是对应列的值数组。 此外,还需要注意一些细节和优化点: - 错误处理:...

    Android studio listview实现列表数据显示 数据循环显示效果

    "Android Studio 中 ListView 的实现列表数据显示和循环显示效果" Android Studio 中 ListView 是一个非常重要的控件,广泛应用于移动设备上的数据显示和交互操作。本文将详细介绍 Android Studio 中 ListView 的...

    Android studio listview实现列表数据显示 数据循环显示

    Android studio listview实现列表数据显示 样式不好看!想要好看的样式可以私我,我加! item.xml main.xml MainActivity .java public class MainActivity extends Activity { List list; List ...

    c# winform ListView实现图片浏览

    ListView控件通常包含多个列(Columns),每一项(Items)可以在列中显示不同的数据。在我们的场景中,我们可能只需要一列来显示图片,而其他列可以用来显示图片的描述或者其他相关信息。 实现图片浏览的关键在于...

    listview改变item文本的颜色的实例

    在默认情况下,ListView的每个Item(条目)中的文本颜色通常是系统默认的黑色。然而,如果开发者希望根据特定需求改变Item中的文本颜色,谷歌的SDK并没有直接提供这样的功能。这时,我们就需要通过自定义适配器...

    Android ListView实现无限循环滚动

    因项目需要循环展示列表数据,所以就实现了这个无限循环滚动的 LIstView.先说一下原理,原理呢,其实很简单,首先将要展示的数据循环展示三遍 监听ListView的滚动事件,当ListView滚动到第一遍第第二个时,ListView...

    C#实现读取DataSet数据并显示在ListView控件中的方法

    ListViewItem lvi = new ListViewItem(lvitem); lvStudentList.Items.Add(lvi); } ``` 最后,调用`EndUpdate`方法,允许ListView更新其显示,这将使所有添加的项目一次性显示出来: ```csharp lvStudentList....

    Android Studio如何获取SQLite数据并显示到ListView上

    本教程将指导你如何从SQLite数据库中获取数据并将其动态显示到ListView上。SQLite是一个轻量级的嵌入式数据库,适用于移动设备,它能高效地存储和检索数据。 首先,你需要创建一个SQLite数据库。在Android Studio中...

    C#WinCE程序绑定LIstView

    Listview控件是Windows Forms中的一个重要组件,用于展示列表数据,它可以在多个列中显示信息,支持分组、排序、自定义列等功能。本文将详细介绍如何在C# WinCE程序中使用ListView控件来添加和展示信息。 首先,...

    C#中的ListView控件实例

    另一方面,未完成的`CreateViewItemMethodTow`方法可能是另一种添加ListViewItem的方法,通常可能涉及到批量添加或使用循环结构。 总的来说,C#中的ListView控件是一个功能强大的工具,能够以灵活的方式展示数据,...

    C#使用listView增删操作实例

    在这个函数内,`coutNumber`是一个计数器,用于生成第一列和第二列的文本内容,然后创建一个新的`ListViewItem`,并将其添加到`listView1`中。`new ListViewItem(new string[] { item1Str, item2Str })`这行代码表示...

    ListView中的数据转换到Excel中

    这可以通过循环和`ListViewItem.SubItems`集合实现。 2. **Excel对象初始化**:使用Microsoft.Office.Interop.Excel库,这个库允许我们通过.NET与Excel进行交互。首先,需要引用该库并实例化一个新的Excel应用程序...

    Wince ListView

    开发者可以通过添加ListViewItem对象到ListView的Items集合中,来显示列表项。同时,ListView还支持多种视图模式,如小图标、大图标、列表和详细信息等,以满足不同的显示需求。 当需要删除ListView中的多项时,...

    listview中添加conmbox

    2. **定位目标单元格**:找到你想在哪个ListViewItem的哪个SubItem中添加ComboBox。这可以通过遍历ListView.Items集合和SubItems集合来实现。 3. **添加ComboBox到单元格**:在找到的目标单元格中,你可以将...

    listview列宽自动适应

    - 然后遍历所有的`ListViewItem`,测量每个项目中对应列的文本宽度。 - 如果某个项目的文本宽度大于当前记录的最大宽度,则更新最大宽度。 3. **宽度设置**: - 最后,根据计算出的最大宽度来设置列的宽度。特别...

    使用ListView控件展示数据.zip

    - 查询结果可以映射到ListView的Items集合,通过循环遍历结果集并创建ListViewItem实例。 7. **事件处理** - 学习处理ListView的各种事件,如ItemSelectionChanged,当用户选择列表中的项时触发,可用于实现...

    从excel导入资料listview

    总的来说,"从excel导入资料listview"涉及到的关键技术包括:VB的文件操作,使用`Microsoft.Office.Interop.Excel`库读取Excel数据,以及在ListView控件中显示和管理这些数据。掌握这些技能,可以方便地在VB应用中...

Global site tag (gtag.js) - Google Analytics