ماذا يعني AdapterView <؟> في طريقة OnItemClick ()؟ ما هو استخدام المعلمات الأخرى فيه؟

StackOverflow https://stackoverflow.com/questions/3184672

  •  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.

فيما يلي بعض الإجابات الجيدة الأخرى حول هذا الموضوع:

نصائح أخرى

ال ؟ يعني أن نوع البيانات غير معروف ويمكن أن يكون أي نوع.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top