android - স্টক এন্ড্রয়েড কি




অ্যানড্রয়েড: তালিকা দেখুন হাইলাইট নিষ্ক্রিয় (10)

আমি একটি তালিকা স্পর্শ যখন ঘটেছে কমলা হাইলাইট নিষ্ক্রিয় করতে চান। দেখুন সারি। আমার এক্সএমএল এ পর্যন্ত আমি নিম্নলিখিত চেষ্টা করেছেন:

android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"

আরও তথ্য: ব্যবহারকারীর এই তালিকাতে স্ক্রীন স্পর্শ করার সময় আমি শূন্য পার্থক্য করতে চাই। দেখুন বস্তু।


RoflcoptrException এর উত্তরটি চালনা করা উচিত, কিন্তু কিছু কারণে এটি আমার জন্য কাজ করে না, তাই আমি আমার জন্য কাজ করা সমাধানটি পোস্ট করছি, আশা করি এটি কাউকে সাহায্য করবে

<ListView 
android:listSelector="@android:color/transparent" 
android:cacheColorHint="@android:color/transparent"
/>

আপনার এক্সএমএল এই যোগ করুন:

android:listSelector="@android:color/transparent"

এবং সমস্যাটির জন্য এটি কাজ করতে পারে (আমি নিশ্চিত নই এবং ভাল সমাধানগুলি আছে কিনা তা আমি জানি না):

আপনি আপনার ColorStateList একটি ColorStateList আবেদন করতে পারে।


আপনি কেবল যুক্ত করতে হবে: android:cacheColorHint="@android:color/transparent"


আপনি তালিকা আইটেমগুলি populate করতে ArrayAdapter বা BaseAdapter ব্যবহার ArrayAdapterisEnabled পদ্ধতি Override এবং false ফেরত।

 @Override
  public boolean isEnabled (int position) {
    return false;
  }

আমার জন্য android:focusableInTouchMode="true" যাওয়ার উপায়। android:listSelector="@android:color/transparent" কোনও ব্যবহার নেই। মনে রাখবেন যে আমি প্রতিটি সারির বেশ কয়েকটি বস্তুর সাথে একটি কাস্টম তালিকাবদ্ধতা ব্যবহার করছি।


এটি করার দ্রুত এবং সহজ উপায় রয়েছে: পদ্ধতিতে:

private void OnItemSelected(object sender, SelectedItemChangedEventArgs e)
{
    //TODO
    ((ListView)sender).SelectedItem = null;
}

আশা করি এটা সাহায্য করবে;)


কিছু 'google'ing এবং ভার্চুয়াল এবং বাস্তব ডিভাইসগুলিতে পরীক্ষা করার পরে, আমি আমার নীচের কোডগুলির কাজগুলি লক্ষ্য করি:

ArrayAdapter<String> myList = new ArrayAdapter<String>(this, R.layout.list_item, strText) {
    public boolean isEnabled(int position) 
    { 
            return false; 
    } 
};

লক্ষ্য করুন যে আমি areAllItemsEnabled() অংশটি বাদ দিয়েছি।


কিছুই আমাকে সাহায্য করে না কিন্তু:

transparent_drawable.xml :

<?xml version="1.0" encoding="utf-8"?>    
<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <solid android:color="#00000000"/>
</shape>

layout.xml :

android:listSelector="@drawable/transparent_drawable"

তালিকাটি নির্বাচক বরাবর এক্সএমএল-এ যোগ করুন। আশা করি এটি কাজ করবে

<ListView
android:cacheColorHint="@android:color/transparent"
android:listSelector="@android:color/transparent"/> 

বিকল্প হিসাবে:

listView.setSelector(android.R.color.transparent);

অথবা

listView.setSelector(new StateListDrawable());




highlighting