here。

onItemClick(AdapterView parent,View view,int position,long id)

parent The AdapterView where the click happened.

view The view within the AdapterView that was clicked (this will be a view provided by the adapter)

position The position of the view in the adapter.

id The row id of the item that was clicked.

AdapterView可以是ListView,GridView,Spinner等。尖括号中的问号表示它可以是任何一个。这在Java中称为generics。您可以使用代码中的父代对整个视图执行某些操作。例如,如果您使用的是ListView,您可以通过以下代码行隐藏整个ListView:

parent.setVisibility(View.GONE);

视图是指AdapterView中的特定项目。在ListView中是行。因此,您可以通过以下方式获取对行中的TextView的引用:

TextView myTextView = (TextView) view.findViewById(R.id.textView1);

String text = myTextView.getText().toString();

该位置是视图在父级中的位置。对于ListView,它是行号。顶行是位置0,第二行是位置1,第三行是位置2等。请注意,如果您的ListView具有标题视图(例如,如果您执行了ListView.addHeaderView(View)),则标题视图将位置0,实际行将从1开始编号。

有时id与position相同,有时是不同的。如果您使用的是ArrayAdapter或SimpleAdapter,那么它们是相同的(除了有一个标题视图,然后它们被关闭)。对于CursorAdapter(以及因此SimpleCursorAdapter),该id将返回表的行ID,即_id。

这里还有一些关于这个主题的好的答案:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐