你能解释一下这个方法的参数吗?我不明白他们。 http://developer.android.com/reference/android/app/ListActivity.html#setListAdapter(android.widget.ListAdapter)
onListItemClick(ListView l, View v, int position, long id)
ListView l
:定义发生点击事件的ListView?
View v
:定义在ListView中单击的视图?那么对于ListView,那将是包含ListView的xml,如果它是一个自定义ListView,那么xml包含该行?
int position
:列表中视图的位置。可以使用以下功能检索吗? getListView().getPositionForView((LinearLayout)v.getParent())
long id
:已点击项目的行ID。这与position
不一样吗?或者我们提供R.id.Textview?
答案 0 :(得分:1)
简单。
ListView l - >是发生单击的listview对象的名称。 (简单)
喜欢
ListView l = (ListView) findViewById(R.id.list);
查看v --->列表视图中可以有多个视图。因此,这表示已单击哪个视图并相应地执行操作。
位置 - >列表中视图的位置。 (查看位置)
id ---> ITEM的行ID。 (项目ID)
答案 1 :(得分:1)
列表视图由小项/行组成。使用自定义listView时。每行/项可以具有不同的功能和布局。所以对于每一行/项目,我们必须使用不同的功能..
例如,在第四行的列表视图中有一个按钮,而在所有其他项目上只有文本。因此,为了将您的活动放在那里,您必须获得特定的行/项目内容。以下代码可让您访问单个项目..
onListItemClick(ListView l, View v, int position, long id)
first parameter is parent where the click happened
second parameter is single View(child/row) of a ListView(Parent)
third parameter is the position of child view.
fourth parameter is the id of the child view.
答案 2 :(得分:0)
首先由您定义的ListView对象:
ListView foo = (ListView) findViewbyId(R.id.foo);
2秒自行行项目(查看v)一个是您点击的对象很简单(您可以获取已点击的视图),您可以更改颜色或内容或您想要的任何内容< / p>
ListView中(View v)对象的3位索引从0开始
项目的4行ID(我从未使用过)