بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

Searchable List View with Custom Adapter

مدیریت گفتگو
Mortez 9 سال پیش
آخرین تغییر: 9 سال پیش

با عرض سلام خدمت دوستان عزیز
میخواستم ببینم آیا میشه یک List View قابل سرچ با استفاده از Custom ArrayAdapter درست کرد یا باید حتما از BaseAdapter استفاده کرد؟

نظرات

Reza 9 سال پیش
ببخشید ، من خودم الان برای اولین بار دارم در پروژم از لیست ویو استفاده میکنم ، و یه روش سرچ در این http://answers.uncox.com/android/question/21403/%D9%82%D8%B1%D8%A7%D8%B1-%D8%AF%D8%A7%D8%AF%D9%86-search-%D8%A8%D8%B1%D8%A7%DB%8C-ListView گذاشتم . جواب نمیده ؟ در مورد BaseAdapter میشه بگین چیه ؟ ممنون .
Amir 9 سال پیش
نه میشه با CustomArrayAdapter هم سرچ رو ساخت: لینک

پاسخ‌ها 1

Reza 9 سال پیش

سلام

    ببخشید سوالی در مورد لیست ویو دارم : میشه بگین چطوری برای آیتم های لیست ویو selector درست کنم . من یه لیست ویو دارم که هر آیتمش فقط یه TextView داره و به همون selector رو اختصاص دادم . ( در فایل xml لیست ویو و نه به ویژگی list Selector خود لیست ویو ) .

    این کد رو نوشتم :

 
public void fill(final ArrayAdapter<StructName> adapter, final StructName item, final int position) {
            txtName.setText(item.name);

            txtName.setOnClickListener(new OnClickListener() {

                @Override
                public void onClick(View view) {
                    txtName.setSelected(true);
                    // ... ?
                }
            });
        }
 

سلکتور عمل میکنه ولی نمیدونم چه کدی بزنم به جای علامت سوال که گزینه انتخاب شده قبلی از حالت انتخاب در بیاد ( چون با هر انتخاب گزینه ها پشت سر  هم رنگی میشن ) ؟ لیست ویوی من در هر حالت فقط یه گزینه رو میتونه انتخاب کنه و رنگش تغییر کنه . البته ویژگی choiceMode در حالت singleChoice قرار داره ولی باز هم گزینه قبلی از انتخاب خارج نمیشه .

ممنون میشم کمک کنید .

نظرات

Amir 9 سال پیش
اول یه سلکتور بسازید و بعد لایه ی XML لیست ویو که حاوی TextView هست رو باز کنید و برای لایه ی پدر کل لایه ها Background اون لایه رو سلکتوری که ساختید قرار بدید.
Reza 9 سال پیش
نه نمیشه ، دیگه هیچکدوم انتخاب نمیشن .
Amir 9 سال پیش
یه لایه ی دیگه درست کنید و تکست ویو رو توش بندازید و به اندازه ای که می خواید طول و عرضش رو تغییر بدید و سلکتور رو برای اون تعریف کنید. مطمئنا کار می کنه چون من همین کارا رو می کنم و کار می کنه.
Reza 9 سال پیش
جالبه که اون کار رو هم کرده بودم و جواب نداد . در ضمن من مشکلی با selector نداشتم ، Selector عمل میکرد فقط در کدهای جاوا نمیدونستم چه کدی بزنم که گزینه قبلی از حالت select خارج بشه . البته مشکل به طریق دیگه ای حل شد . کلا فکر میکنم selector برای لیست ویو فرق داره نسبت به سایر کنترل ها . اولا اینکه state_hovered براش جواب نمیده ، در صورتی که همین selector برای عناصر ScrollView همه چیزش درست کار میکنه ( state_pressed , state_hevered , state_selected ) . دوم اینکه فهمیدم که در لیست ویو state_selected معنی نداره و به جاش باید از state_activated استفاده بشه .
Reza 9 سال پیش
مشکل کلا حل شده ، فقط نمیدونم چرا state_hovered ( برای گوشی های قلم دار ) عمل نمیکنه . اگه کسی از این ویژگی استفاده کرده لطفا بگه باید چیکار کنم .

پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .