ListView 的position和id的区别】的更多相关文章

我们在使用ListView的时候,一般都会为ListView添加一个响应事件android.widget.AdapterView.OnItemClickListener.本文主要在于对OnItemClickListener的position和id参数做详细的解释,我相信有些人在这上面走了些弯路. 先来看一下官方的文档 position The position of the view in the adapter. id The row id of the item that was click…
public void onItemClick(AdapterView<?> parent, View view, int position, long id) { parent.getAdapter().getItem(position); (CircleImageView) view.findViewById(R.id.img_jobberinfo_head); } 后面有4个参数,乍看直接晕菜,那么每个参数究竟是何意义呢. 举个例子会理解的更快:X, Y两个listview,X里有1,2…
在使用ListView添加如下代码时 listview.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View arg1, int position, long id) { //此时有人遇到position不是从0开始 } }); 对于上面问题,是因为ListView添加了Head导致的,如果Head添加了一个View从1开始…
Public Methods public abstract void onItemClick (AdapterView<?> parent, View view, int position, long id) Since: API Level 1 Callback method to be invoked when an item in this AdapterView has been clicked. Implementers can call getItemAtPosition(pos…
当ListView包含有HeaderView或FooterView时,传入getView或者onItemClick的position是怎样的,这是个值得探讨的问题 先列出错误的用法 定义: private MyAdapter mAdapter; /**  * 包含数据的list  */ private List<String> mDataList1 = new ArrayList<String>(); 错误用法一: @Override public void onItemClick…
今天在运行自己编写的App时,突然发现App在运行时闪退,然后就查看了Android Studio的Log,发现了这个错误,上网查了一下,才知道是RecyclerView的原生Bug,在数据更新时会出现这个Bug,错误显示为 java.lang.IndexOutOfBoundsException: Inconsistency detected. Invalid view holder adapter positionViewHolder{431a7450 position=1 id=-1, ol…
class和id的区别 class用于css的,id用于js的. 1)class页面上可以重复.id页面上唯一,不能重复. 2)一个标签可以有多个class,用空格隔开.但是id只能有id.…
一.android:id="@+id/button1" 与 android:id="@id/button1" 区别 android:id="@+id/button1"  控件添加一个id这个新的id会自动生成在 R.java文件里面,在你的Activity里面通过 Button btn1 = (Button)findViewById(R.id.button1); 来引用对象了. android:id="@id/button1"…
相对浏览器,将指定div滚到到指定位置,其用法如下 $("html,body").animate({scrollTop: $(obj).offset().top},speed); ps:obj是需要定位的对象,speed是滚动的速度 然而需要相对某一个容器(称之div1),将其内部的div2滚动到相对div1的指定位置,用法如下: $("div1").animate({scrollTop: $("div2").position().top},sp…
写在前面:这里介绍句柄 对于“句柄”,在下一直停留在一知半解的认识层面,近日在下学习Windows编程,决定趁此机会将句柄彻底搞清楚.查阅了一些网络上的资料,发现网络上的讲解大概可以分为两类:一种是以比喻.类比的方式说明,这种方法虽然形象易懂,但并没有从原理上.本质上加以揭示,让人仍然想问“为什么?”.“怎么实现?”.另一种是给出源代码,无可厚非,这当然是最本质的说明了,但这样一来,又显得不够直观,初学者理解起来有一定的难度.鉴于此,在下尽微末之能,结合自己的愚见,在两者之间折中,用图解的方式来…
// Person.h #import <Foundation/Foundation.h> @interface Person : NSObject @property int age; - (void)test:(id)obj1; //编译不报错 - (void)demo:(instancetype)obj2; //不能定义变量,不能定义形参数 @end // // Person.m #import "Person.h" @implementation Person //…
选择同事列表页面,在Adapter里设置复选框背景时调用了notifyDataSetChanged(),阻碍了UI线程,因此在设置ListView.setSelection(position)时不起作用. 有时调用adapter.notifyDataSetChanged时也没有刷新页面,可以使用ListView的post方法刷新.…
如果一个ListView太长,有时我们希望ListView在从其他界面返回的时候能够恢复上次查看的位置,这就涉及到ListView的定位问题: 解决的办法如下: 1 2 3 4 5 6 7 // 保存当前第一个可见的item的索引和偏移量 int index = mList.getFirstVisiblePosition(); View v = mList.getChildAt(0); int top = (v == null) ? 0 : v.getTop(); // ... //根据上次保存…
1. 可以说几乎每个做过Web开发的人都问过,到底元素的ID和Name有什么区别阿?为什么有了ID还要有Name呢?! 而同样我们也可以得到最classical的答案:ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的. 上周我也遇到了ID和Name的问题,在页面里输入了一个input type="hidden",只写了一个ID='SliceInfo',赋值后submit,在后台用Request.Params["SliceInfo…
js中web页面元素的调用可以有两种识别方法:id和name 自己在用的过程中总结一下id和name的使用区别. 一,使用范围 除 BASE, HEAD, HTML, META, SCRIPT, STYLE, TITLE 标签外,id 都可用. name只用于APPLET,SELECT,FORM,FRAME,IFRAME,IMG,A,INPUT,OBJECT,MAP,PARAM,META. (name有时有自己的用途) name 用于 form 内元素,提交需要 id 用于 form 外元素好用…
以前一直认为jquery中的$("#id")和document.getElementByIdx_x("id")得到的效果是一样的,今天做特效的时候才发现并不是这么一回事,通过测试得到: 1.alert($("#div"))得到的是[object Object] 2.alert(document.getElementById("div"))得到的是[object HTMLDivElement] 3.alert($("#…
需求场景: 一个ListView页面,滑动阅读到某一位置,然后退出页面,下次再进入页面的时候,想要直接滑动到上次阅读的位置. 方案1: 页面退出的时候,ListView.getFirstVisiblePosition()来获取当前可见的第一个Item的position并记录,下次再进入页面的时候通过ListView.setSelection(int position)把ListView直接滑动到记忆的position. 此方案记忆的ListView的位置不够精准,因为position指定的是Li…
最近返回头看了很多书籍,一直在纠结float属性和absolute绝对定位的区别和使用的情况,给大家分享一下自己的心得和体会吧. 1,float属性 float属性意义是让元素拜托独占一行的霸道总裁,成为一个普普通通的人.比如下面这个例子 如图,我们为第一个盒子第一个盒子设置了float:left属性,他也就失去了霸道总裁独占一行的特点,下面的盒子就上位. 但是我们发现一个问题,如果总裁通知完全浮动(也就是说不在公司了),那么下面的div应该把他的位置完全占领,也就是说文字也应该被总裁覆盖,但是…
  Android中的组件需要用一个int类型的值来表示,这个值也就是组件标签中的id属性值.id属性只能接受资源类型的值,也就是必须以@开头的值,例如,@id/abc.@+id/xyz等. 如果在@后面使用“+”,表示当修改完某个布局文件并保存后,系统会自动在R.java文件中生成相应的int类型变量.变量名就是“/”后面的值,例如,@+id/xyz会在R.java文件中生成int xyz = value,其中value是一个十六进制的数.如果xyz在R.java中已经存在同名的变量,就不再生…
position定位: static:静态定位;是position的默认值,元素框正常生成,也就是没有定位时的正常显示. relative:相对定位; 用法一:元素相对自身的原位置偏移某个距离,但是原本的空间依旧保留,表现为空白. 用法二:把一个元素设置为position: relative; 可以使该元素的子元素相对该元素绝对定位. absolute:绝对定位; 元素从文档流删除,并相对于包含块定位.元素在原本的空间关闭.元素定位后生成一个块级框,不论它原来是行内元素还是块级元素. 包含块:最…
区别: 在ARC(Auto Reference Count)环境下: instancetype用来在编译期确定实例的类型,而使用id的话,编译器不检查类型,运行时检查类型 在MRC(Manual Reference Count)环境下: instancetype和id一样,不做具体类型检查 区别2: id可以作为方法的参数,但instancetype不可以 instancetype只适用于初始化方法和便利构造器的返回值类型 便利构造器 举例: 在Teacer.h里添加定义 +(id)teache…
进程和进程句柄和进程id含义 进程是一个正在运行的程序,进程里可以包括多个模块(DLL,OCX,等)进程句柄是程序访问时用到的东西,当前进程句柄等于主模块的句柄,当你使用OpenProcess时的进程句柄是不等于那个句柄的,使用完了还要关闭那个句柄进程ID是在系统中的标识,一个进程可以有多个句柄但是ID就只有一个,可以通过ID打开多个句柄 进程是内核对象,其ID是一个32位的无符号整数,用于在整个系统中唯一地标志该对象:你在任何进程中都可使用该ID号访问进程对象:进程的句柄则是基于特定进程的,对…
一直很困惑,表单里面input标签有id和name,它们之间到底有什么区别自己很少去想,只知道一般的场景该怎么使用,今天就在网上搜索了一下,自己也总结一下.为什么有了ID还要有Name呢?其实ID就像是一个人的身份证号码,而Name就像是他的名字,ID显然是唯一的,而Name是可以重复的. name与id的还有区别是: id要符合标识的要求,比如大小写敏感,最好不要包含下划线(因为不兼容CSS).而name基本上没有什么要求,甚至可以用数字. 补充:name主要是表单元素里才有的属性.通过js的…
GridView 可以指定显示的条目的列数. listview一般显示的条目的列数都是一列 如果是列表(单列多行形式)的使用ListView,如果是多行多列网状形式的优先使用GridView android:numColumns="auto_fit" //GridView的列数设置为自动 GridView和ListView 都是实现了AbsListView,他们用了相同的RecycleBin机制进行优化,他们基本类似,只是一些方法的实现不太一样而已 而GridView和ListView…
1. position是根据世界原点为中心 2. localPosition是根据父节点为中心,如果没有父节点,localpositon和position是没有区别的 3.选中一个物体左上角Global和Local切换看物体世界坐标轴和本地坐标轴 using UnityEngine; using System.Collections; public class TestPostiton : MonoBehaviour { void OnGUI() { , , , ), "世界坐标移动"…
一直认为jquery中的$("#id")和document.getElementByIdx_x("id")得到的效果是一样的,今天才发现并不是这么一回事,通过测试得到: alert($("#box"))得到的是[object Object] alert(document.getElementById("box"))得到的是[object HTMLDivElement] alert($("#box")[0])…
android:id="@+id/btn",表示在R.java文件里面新增一个id为btn的控件索引,最常用的一种声明控件id的方式.android:id="@android:id/tabhost",表示引用的是系统已有的ID,在对应的sdk目录下的ids.xml里面.一般外部不去调用,是组件内部调用的时候使用..android:id="@id/btn"  ,表示引用一个已经存在的ID,在R.java里面的,比如我们自己建了一个ids.xml,里…
以前没注意过,认为jquery 中的 $("#air") 与 document.getElementById("air") 是一回事,指的是同一个东西.在今天写一个canvas的小程序时,才发现这两者是不一样的. 直接用alert()来显示这两个方法倒底获得的是什么.代码如下 <!DOCTYPE HTML><html><head><meta charset="utf-8"><title>…
要区分instancetype和id,首先要弄清楚什么是关联返回类型(Related Result Type). 关联返回类型即一个方法的返回类型就是调用这个方法的调用者的类型.具有下列条件的方法具有关联返回类型: 1 对于静态方法,方法名以alloc,new开头; 2 对于实例方法,方法名以autorelease,init,retain,self开头 关联返回类型的作用就是让编译器在编译期就可以进行类型检测(Type Check),比如下面的例子: @interface X : NSObjec…
一.什么是instancetype instancetype是clang 3.5开始,clang提供的一个关键字,表示某个方法返回的未知类型的Objective-C对象.我们都知道未知类型的的对象可以用id关键字表示,那为什么还会再有一个instancetype呢? 二.关联返回类型(related result types) 根据Cocoa的命名规则,满足下述规则的方法: 1.类方法中,以alloc或new开头 2.实例方法中,以autorelease,init,retain或self开头 会…