AutocompleteTextView در اندروید

Farzad Sarseifi
توسط Farzad Sarseifi در آموزش های اندروید,
AutocompleteTextView  یکی از ویجت های استاندارد اندروید میباشد،که شبیه به ویجت Textview میباشد،ولی با این تفاوت که وقتی بخواهیم برنامه های سرچینگ پیاده سازی کنیم ،بهتر میباشد از AutocompleteTextView   استفاده کنیم، چونکه باعث میشود اطلاعات در ویجت لود شده و بتوان اطلاعات را جستجو کرد. نحوه تعریف XML ویجت : <AutoCompleteTextView         android:layout_width="fill_parent" android:layout_height="wrap_content"     android:layout_marginLeft="5dp" />   برای روشن شدن کامل نحوه عملکرد این ویجت،مثالی ساده را اجرا میکنیم.در این مثال یه ارایه ثابت را تعریف میکنیم، سپس ارایه را در این ویجت Adapter میکنیم و اطلاعات در این ویجت لیست میشوند. <?xml version="1.0" encoding="utf-8"?>  <LinearLayout android:orientation="horizontal" android:layout_width="fill_parent"   android:layout_height="wrap_content" android:padding="5dp">      <AutoCompleteTextView android:layout_height="wrap_content" android:text="Please Enter Words . . . :" />    android:layout_width="fill_parent" android:layout_height="wrap_content"     android:layout_marginLeft="5dp" /> </LinearLayout>   برای نمایش بهتره لیست اطلاعات ، یک لایوت اختصاصی برای نمایش اطلاعات ایجاد میکنیم،در مسیر زیر res/layout/list_item.xml این فایل را ایجاد میکنیم : <?xml version="1.0" encoding="utf-8"?>    <TextView android:layout_width="fill_parent" android:layout_height="fill_parent"  android:padding="10dp" android:textSize="16sp" android:textColor="#000"/>   سپس در اکتیویتی خود بدین صورت عمل کنید یک ارایه رشته ای را بصورت Public تعریف کنید : static final String[] ITEMS = new String[] { "Tea", "Coffee", "Milk", "Expresso", "Lemon Tea", "Cappuciano", "Hot Water", "Tomato Soup", "Ginger Tea", "ColdDrink"};   در آخر نیز در onCreate ویجت خود را تعریف میکنیم، و آرایه را در آن لود نموده ، و نتیجه کار را مشاهده کنید.  protected void onCreate(Bundle savedInstanceState)    {      super.onCreate(savedInstanceState);        setContentView(R.layout.main);         AutoCompleteTextView textView = (AutoCompleteTextView) findViewById(R.id.autocomplete_country);  ArrayAdapter adapter = new ArrayAdapter(this, R.layout.list_item, ITEMS);   textView.setAdapter(adapter);      }      
  • 0 پاسخ