ليستفيو الروبوت لا يسمح محدد للعمل ولا يسمح التحديدات
-
14-11-2019 - |
سؤال
حسنا أنا أعلم أن هذا قد يبدو مثل أي قضايا أخرى تتعلق ليستفيو و ليستاكتيفيتي القضايا ولكن هذا ليس ، وانا ذاهب للذهاب مجنون كما فعلت في الأسبوع الماضي ذهب على وعلى البحث عن وظيفة للعثور على أي حل لهذا قد يساعدني.حاولت بالفعل ليستفيو البند الخلفية عبر محدد مخصص و جيتفيو مقابل.بيندفيو في كورسورادابتر مخصص? كل مواقع المدونات الأخرى الممكنة...
حسنا المشكلة ، لن يسمح ليستفيو لواحد 1 باختيار / أحداث إطلاق النار و 2.لن يغير تمييز الصف عند النقر فوق عنصر.لدي معيار TestActivity
تمديد ListActivity
ولقد نفذت العرف TestCursorAdapter extends SimpleCursorAdapter
الآن في الجانب شمل من الأشياء لدي على test_list_view.xml
والثانية row_view.xml
الآن تابعت أعلاه يذكر الإجابات وتنفيذ selector
كما row_selector.xml
.لكن المشكلة تتعلق بأحد الصفوف لا تقبل أي أحداث نقرة أو تركيز.أنا نفذت نخب الأساسية للإشارة إلى ما إذا كان هناك أي شيء يحدث
@Override
protected void onListItemClick(ListView l, View v , int postion, long idontnow){
Toast.makeText(getApplicationContext(), "Hello World", Toast.LENGTH_SHORT ).show();
}
جزء من قائمة الاختبار_عرض.شمل
<ListView android:id="@android:id/list"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawSelectorOnTop="true"
android:cacheColorHint="#00000000"
android:focusable="true"
android:listSelector="@color/row_selector"
android:background="@color/Transparent"/>
جزء من محدد.شمل (نسخ أساسا ولصق من أحد الروابط المذكورة أعلاه)
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_window_focused="false"
android:drawable="@color/Transparent" />
<item
android:state_focused="true"
android:state_enabled="false"
android:state_pressed="true"
android:drawable="@color/green" />
<item
android:state_focused="true"
android:state_enabled="false"
android:drawable="@color/green" />
<item
android:state_focused="true"
android:state_pressed="true"
android:drawable="@color/blue" />
<item
android:state_focused="false"
android:state_pressed="true"
android:drawable="@color/blue" />
<item
android:state_focused="true"
android:drawable="@color/green" />
<item
android:state_selected="true"
android:drawable="@color/blue" />
<item
android:drawable="@color/Transparent" />
</selector>
تابعت جميع الخيارات التي أنا على علم ولا يزال لا شيء. والفرق الرئيسي الوحيد هو الرجال أنا لا تستخدم getView
بدلا من ذلك أنا باستخدام bindView
.
أي مساعدة الرجال سيكون محل تقدير كبير.
شكرا مقدما.
سانج
المحلول
أقترح عليك إزالة android:focusable="true"
من ال ListView
.
بالإضافة إلى ذلك ، يمكنك استخدام selector
كما لون الخلفية من العناصر التي يتم عرضها في ListView
.تأكد أيضا من أن هذه العناصر لا تتصل onClick
أو onTouch
أو شيء من هذا القبيل ، والسماح لل ListView
تعامل مع أحداث النقر.
آمل أن يساعد هذا
تحرير:
لمشكلتك مع اختيار استخدام البند
lv.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
yourMethod();
}
});
نصائح أخرى
بعد اقتراح روكودراوغ وما بعده ليستفيو أونيتمكليكليستينر لا يستجيب?
حقيقة أخرى كما ذكر الاستخدام bindView
الطريقة ، اعتدت
view.setClickable(true);
view.setFocusable(true);
هذا البند انقر نوع من الأعمال ، إلا إذا قمت بالنقر فوق على المنطقة المميزة باللون الأصفر و ImageView
.يجب أن أكون قادرا على معرفة ذلك بفضل,
تحرير
أوه * ٪ # - حلها ، اللازمة لتعيين ريلاتيفلايوتس Add State from Children = true;