ماذا يعني AdapterView <؟> في طريقة OnItemClick ()؟ ما هو استخدام المعلمات الأخرى فيه؟
-
02-10-2019 - |
سؤال
gridview.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v, int position, long id) {
Toast.makeText(HelloGridView.this, "" + position, Toast.LENGTH_SHORT).show();
}
});
المحلول
ال <?>
يشير إلى عام. اقرأ المزيد عنها هنا.
هنا ما توثيق يقول عن المعلمات:
onItemClick(AdapterView<?> parent, View view, int position, long id)
الأبوين The AdapterView حيث حدثت النقر.
رأي العرض داخل المحول الذي تم النقر عليه (سيكون هذا عرضًا يقدمه المحول)
موقع موضع العرض في المحول.
هوية شخصية معرف الصف للعنصر الذي تم النقر عليه.
ال AdapterView
يمكن أن يكون ListView
, GridView
, Spinner
, ، إلخ. تشير علامة الاستفهام داخل قوسين الزاوية إلى أنه يمكن أن يكون أي منها. هذا يسمي الأدوية الجيرية في جافا. يمكنك استخدام الأبوين في الكود لفعل شيء للمنظر كله. على سبيل المثال ، إذا كنت تستخدم ListView
يمكنك إخفاء الكل ListView
بواسطة السطر التالي من التعليمات البرمجية:
parent.setVisibility(View.GONE);
ال View
يشير إلى عنصر محدد داخل AdapterView
. في ListView
إنه الصف. وبالتالي ، يمكنك الحصول على إشارة إلى TextView
في صف واحد بقول شيء من هذا القبيل:
TextView myTextView = (TextView) view.findViewById(R.id.textView1);
String text = myTextView.getText().toString();
ال موقع هو موقف رأي في ال الأبوين. ل ListView
, ، هذا هو رقم الصف. الصف العلوي هو الموضع 0 ، والصف الثاني هو الموضع 1 ، والصف الثالث هو الموضع 2 ، إلخ. لاحظ أنه إذا ListView
لديه عرض رأس (كما لو كنت فعلت ListView.addHeaderView(View)
) ثم سيكون عرض الرأس هو الموضع 0 وسيبدأ الصفوف الفعلية في 1.
بعض الأحيان هوية شخصية بالضبط مثل موقع وأحيانًا يكون الأمر مختلفًا. إذا كنت تستخدم ArrayAdapter
أو SimpleAdapter
ثم هم متماثلون (إلا في حالة وجود عرض للرأس ومن ثم يتم إيقافهم بواسطة واحد). ل CursorAdapter
(وبالتالي أ SimpleCursorAdapter
) ال هوية شخصية إرجاع معرف الصف للجدول ، أي ، _id
.
فيما يلي بعض الإجابات الجيدة الأخرى حول هذا الموضوع:
نصائح أخرى
ال ؟ يعني أن نوع البيانات غير معروف ويمكن أن يكون أي نوع.