gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
答案 0 :(得分:27)
<?>
表示通用。详细了解他们here。
以下是documentation对参数的说明:
<强> onItemClick(AdapterView<?> parent, View view, int position, long id)
强>
parent 发生点击的AdapterView。
查看已点击的AdapterView中的视图(这将是适配器提供的视图)
位置视图在适配器中的位置。
id 点击的商品的行ID。
AdapterView
可以是ListView
,GridView
,Spinner
等。尖括号内的问号表示它可以是其中任何一个。这在Java中称为generics。您可以在代码中使用 parent 对整个视图执行某些操作。例如,如果您使用的是ListView
,则可以通过以下代码行隐藏整个ListView
:
parent.setVisibility(View.GONE);
View
是指AdapterView
中的特定项目。在ListView
中,它是行。因此,您可以通过这样的方式获得对TextView
内的TextView myTextView = (TextView) view.findViewById(R.id.textView1);
String text = myTextView.getText().toString();
的引用:
ListView
位置是父中视图的位置。对于ListView
,它是行号。顶行是位置0,第二行是位置1,第三行是位置2,等等。请注意,如果您的ListView.addHeaderView(View)
有标题视图(就像您ArrayAdapter
那样),那么标题视图将是位置0,实际行将在1开始编号。
有时 id 与位置相同,有时会有所不同。如果您使用的是SimpleAdapter
或CursorAdapter
,那么它们是相同的(除非有标题视图然后它们被一个关闭)。对于SimpleCursorAdapter
(以及_id
), id 会返回表格的行ID,即{{1}}。
以下是关于此主题的一些其他好答案:
答案 1 :(得分:0)
?表示数据类型未知,可以是任何类型。