Android中onItemClick的"int"和"long"参数之间有什么区别?

Anu*_*shA 14 android listview onitemclicklistener onitemclick

当我们实现时OnItemClickListener,我们必须onItemClickOnItemClickListener接口中实现一个抽象方法的方法.在onItemClick方法中有四个参数.

public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) {
    Toast.makeText(this, "Clicked on : " + arg2 + " long arg : " + arg3, 
                   Toast.LENGTH_LONG).show();
}
Run Code Online (Sandbox Code Playgroud)

我需要知道的是最后两个参数(int arg2, long arg3)之间的区别.正如你在我的代码中看到的,当我尝试Toast它时,我得到两个参数的相同值.

Sur*_*gch 29

我和你有同样的问题.但是,这里的答案并不是非常有用.我不支持自己去看看的答案,特别是当所谓的文档不太清楚的时候.不过,我确实自己查了一下,以下是我发现的内容.

INT值是的位置视图中的.对于a ListView,它是行号.顶行是位置0,第二行是位置1,第三行是位置2,等等.请注意,如果你ListView有一个标题视图(就像你做的那样ListView.addHeaderView(View)),那么标题视图将是位置0,实际行将是从1开始编号.

有时值与int位置相同,有时它是不同的.如果你使用的是ArrayAdapter或者SimpleAdapter它们是相同的(除了有一个标题视图,然后它们被一个关闭).对于a CursorAdapter(以及因此a SimpleCursorAdapter),long id返回表的行id,即_id.它是一个而不是一个int,因为理论上数据库可以拥有比int更多的行,而a则ListView不会.

以下是一些其他相关答案:


Anu*_*shA 2

给出的答案非常有帮助。但所需的答案,我的意思是我想要的确切答案是我自己作为问题的评论发布的。但这不会提高我的“接受水平”。所以我想把链接作为问题的答案。这是答案的链接。


归档时间:

查看次数:

8812 次

最近记录:

8 年 前