gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
2 に答える
は<?>
ジェネリックであることを示します。詳細については、こちらをご覧ください。
パラメータに関するドキュメントの内容は次のとおりです。
onItemClick(AdapterView<?> parent, View view, int position, long id)
親 クリックが発生した AdapterView。
view クリックされた AdapterView 内のビュー (これはアダプターによって提供されるビューになります)
position アダプター内のビューの位置。
id クリックされた項目の行 ID。
は、、、などのAdapterView
可能性があります。山かっこ内の疑問符は、それらのいずれかである可能性があることを示します。これはJava ではジェネリックと呼ばれます。コードで親を使用して、ビュー全体に対して何かを行うことができます。たとえば、 を使用している場合、次のコード行で全体を非表示にすることができます。ListView
GridView
Spinner
ListView
ListView
parent.setVisibility(View.GONE);
はView
内の特定の項目を指しますAdapterView
。それListView
は行です。TextView
したがって、次のように言うことで、行内の a への参照を取得できます。
TextView myTextView = (TextView) view.findViewById(R.id.textView1);
String text = myTextView.getText().toString();
positionは、 parent内のビューの位置です。の場合、それは行番号です。一番上の行は位置 0、2 番目の行は位置 1、3 番目の行は位置 2 などです。ヘッダー ビューがある場合 (のように)、ヘッダー ビューは位置 0 になり、実際の行は番号は 1 から始めます。ListView
ListView
ListView.addHeaderView(View)
idはpositionと同じ場合もあれば、異なる場合もあります。ArrayAdapter
またはを使用している場合SimpleAdapter
、それらは同じです (ヘッダー ビューがあり、それらが 1 つずれている場合を除く)。a CursorAdapter
(したがって a SimpleCursorAdapter
) の場合、idはテーブルの行 ID、つまり を返します_id
。
このトピックに関する他のいくつかの良い答えを次に示します。
? は、データ型が不明であり、任意の型である可能性があることを意味します。