gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
_<?>
_はジェネリックを示します。それらについてもっと読む ここ 。
documentation がパラメータについて言うことは次のとおりです。
onItemClick(AdapterView<?> parent, View view, int position, long id)
parentクリックが発生したAdapterView。
viewクリックされたAdapterView内のビュー(これは、アダプターによって提供されるビューになります)
positionアダプター内のビューの位置。
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();
_
positionは、(==-)内のviewの親。 ListView
の場合は、行番号です。上の行は位置0、2番目の行は位置1、3番目の行は位置2などです。ListView
にヘッダービューがある場合(ListView.addHeaderView(View)
の場合と同様)すると、ヘッダービューの位置は0になり、実際の行の番号は1から始まります。
idはpositionと同じ場合もあれば、異なる場合もあります。 ArrayAdapter
またはSimpleAdapter
を使用している場合、それらは同じです(ヘッダービューがあり、1つずれている場合を除く)。 CursorAdapter
(したがってSimpleCursorAdapter
)の場合、idはテーブルの行IDを返します。つまり、 __id
_。
このトピックに関する他のいくつかの良い答えを次に示します。
?データ型は不明であり、どの型でもかまいません。