32
gridview.setOnItemClickListener(new OnItemClickListener() {
        public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
            Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
        }
    });
4

2 に答える 2

32

<?>ジェネリックであることを示します。詳細については、こちらをご覧ください。

パラメータに関するドキュメントの内容は次のとおりです。

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

クリックが発生した AdapterView。

view クリックされた AdapterView 内のビュー (これはアダプターによって提供されるビューになります)

position アダプター内のビューの位置。

id クリックされた項目の行 ID。

は、、、などのAdapterView可能性があります。山かっこ内の疑問符は、それらのいずれかである可能性があることを示します。これはJava ではジェネリックと呼ばれます。コードで親を使用して、ビュー全体に対して何かを行うことができます。たとえば、 を使用している場合、次のコード行で全体を非表示にすることができます。ListViewGridViewSpinnerListViewListView

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 から始めます。ListViewListViewListView.addHeaderView(View)

idはpositionと同じ場合もあれば、異なる場合もあります。ArrayAdapterまたはを使用している場合SimpleAdapter、それらは同じです (ヘッダー ビューがあり、それらが 1 つずれている場合を除く)。a CursorAdapter(したがって a SimpleCursorAdapter) の場合、idはテーブルの行 ID、つまり を返します_id

このトピックに関する他のいくつかの良い答えを次に示します。

于 2010-07-06T10:16:40.980 に答える
0

? は、データ型が不明であり、任意の型である可能性があることを意味します。

于 2010-07-06T08:41:06.730 に答える