转 Android学习笔记(10)————Android的Listview详解1Arr

先感谢该博作者下,本人看了获益匪浅啊!博文来源:http://blog.csdn.net/conowen/article/details/7294230

SimpleCursorAdapter方式请看http://blog.csdn.net/conowen/article/details/7306545

1、Listview简述

A view that shows items in a vertically scrolling list. The itemscome from theListAdapterassociatedwith this view.

简单来说就是,创建Listview,然后给数值就行了。

而这些数值来源有三种方式:ArrayAdapter、SimpleAdapter、SimpleCursorAdapter

第一种是最简单的一种Adapter,是字符串数值,只能在ListView显示出文本信息。

第二种是一种自定义的数据来源,要自定义布局方式,可以放置图片,按钮,文本之类的。

第三种数据来源于数据库。

本文为第一种方式,ArrayAdapter,其他两项的方法都差不多,主要是adapter不同。

2、使用ListView步骤

首先创建Listview组件,然后调用Listview.ArrayAdapter()方法,设置Adapter。

通过调用setOnItemClickListener()接口方法,设置“点击”listview某一项的监听事件。

通过调用setOnItemLongClickListener()接口方法,设置“长按”listview某一项的监听事件。


需要说明的是,当设置匿名内部类newOnItemClickListener()时,eclipse不会自动载入复写函数,要点击左边的错误提示,然后Addunimplemented methods,才能载入复写函数onItemClick()。

[java]view plaincopy
  1. mylistview.setOnItemClickListener(newOnItemClickListener(){
  2. @Override
  3. publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,longarg3){
  4. //TODOAuto-generatedmethodstub
  5. }
  6. });

【转】Android学习笔记(10)————Android的Listview详解1(Arr
关于onItemClick方法,下面详细说说。(以下是官方的说明,参数命名不同而已,类型都是一样的。arg0=parent,arg1=view,arg2=position,arg3=id)

public abstractvoidonItemClick(AdapterView<?>parent,Viewview,int position, long id)

Since:APILevel 1

Callback method to be invoked when an item in this AdapterView hasbeen clicked.

Implementers can call getItemAtPosition(position) if they need toaccess the data associated with the selected item.

//当点击listview某一项时,这个回调方法就会被调用。

Parameters
parentThe AdapterView where the click happened.
viewThe view within the AdapterView that was clicked (this will bea view provided by the adapter)
positionThe position of the view in the adapter.
idThe row id of the item that was clicked.

主要说说最后三个参数,

view——————是你点击的Listview的某一项的内容,来源于adapter。如用((TextView)arg1).getText(),可以取出点击的这一项的内容,转为string类型。

position————是adapter的某一项,如点击了listview第2项,而第2项对应的是adapter的第2个数值,那此时position的值就为1了。

如对应adapter的第3个数值,那此时position的值就为2了。

id———————id的值为点击了Listview的哪一项对应的数值,点击了listview第2项,那id就等于1。

注:这些数值都是从0开始的。

[java]view plaincopy
  1. packagecom.conowen.listview;
  2. importandroid.app.Activity;
  3. importandroid.os.Bundle;
  4. importandroid.view.View;
  5. importandroid.widget.AdapterView;
  6. importandroid.widget.AdapterView.OnItemClickListener;
  7. importandroid.widget.AdapterView.OnItemLongClickListener;
  8. importandroid.widget.ArrayAdapter;
  9. importandroid.widget.ListView;
  10. importandroid.widget.TextView;
  11. importandroid.widget.Toast;
  12. publicclassListviewActivityextendsActivity{
  13. @Override
  14. publicvoidonCreate(BundlesavedInstanceState){
  15. super.onCreate(savedInstanceState);
  16. setContentView(R.layout.main);
  17. ListViewlv=(ListView)findViewById(R.id.lv);
  18. String[]data={"windows","linux","ios","android","wp7",
  19. "Symbian"};//定义adapter
  20. lv.setAdapter(newArrayAdapter<String>(this,//把adapter绑定到listview里面
  21. android.R.layout.simple_expandable_list_item_1,data));
  22. //点击事件
  23. lv.setOnItemClickListener(newOnItemClickListener(){
  24. @Override
  25. publicvoidonItemClick(AdapterView<?>arg0,Viewarg1,intarg2,
  26. longarg3){
  27. //TODOAuto-generatedmethodstub
  28. Toast.makeText(ListviewActivity.this,"你点击的是第"+arg3+"项",
  29. Toast.LENGTH_SHORT).show();
  30. //取出所点击的那一项的id
  31. }
  32. });
  33. //长按事件
  34. lv.setOnItemLongClickListener(newOnItemLongClickListener(){
  35. @Override
  36. publicbooleanonItemLongClick(AdapterView<?>arg0,Viewarg1,
  37. intarg2,longarg3){
  38. //TODOAuto-generatedmethodstub
  39. Toast.makeText(ListviewActivity.this,
  40. ((TextView)arg1).getText(),Toast.LENGTH_LONG).show();
  41. //取出点击listview某一项的内容
  42. returnfalse;
  43. }
  44. });
  45. }
  46. }

  

爱华网本文地址 » http://www.413yy.cn/a/25101011/75023.html

更多阅读

『PMP学习笔记10』8章项目质量管理

定义项目质量管理包括执行组织确定质量政策、目标与职责的各个活动,从而使项目满足其预定需求。项目质量管理需要兼顾项目管理与项目产品两个方面。项目质量管理的方法适用于不同产品与项目。好质量:1结果,2过程,3原材料

Android的ListView中的SimpleAdapter simpleadapter

public SimpleAdapter (Context context, List<?extends Map<String,?>> data, int resource, String[]from, int[] to);这是构造函数.context是在何处运行这个adapt一般写thisdata 是一个list集合类引用.这个集合类元素是map 集合类

篮球进阶教程–突破第一步的技术详解1 篮球突破第一步怎么练

。。各位过年好,这个文章本想年前完成,无奈工作太多了,过年没有休息,只好拖到现在了。以后写文章可能还是会很慢的,工作越来越忙了。至于评论,我还是会尽力的抽时间回复的,不过有些评论可能会等超过一个月才能有时间回复,希望各位理解,我们还

声明:《转 Android学习笔记(10)————Android的Listview详解1Arr》为网友穴而湿吸之分享!如侵犯到您的合法权益请联系我们删除