مشخصات مقاله
-
1892
-
0.0
-
3505
-
0
-
0
آموزش Auto Complete در اندروید : Android Auto Complete Tutorial
آموزش مدیریت شنیداری اندروید
اگر در هنگام تایپ کردن در یک فیلد قابل ویرایش تمایل دارید که پیشنهاداتی داشته باشید، می توانید آن را از طریق AutoCompleteTextView انجام دهید. این برنامه به طور خودکار پیشنهاداتی را به یوزر در حال تایپ ارائه می دهد. لیست پیشنهادات در یک منوی بالا به پایین ارائه می شود که یوزر می تواند یک آیتم را انتخاب کرده و آن را جایگزین محتوای در حال ویرایش کند.
برای استفاده از AutoCompleteTextView، شما باید ابتدا یک فیلدAutoCompletTextView در xml ایجاد کنید. ترکیب آن مانند زیر می باشد.
پس از آن شما باید یک مرجع از این ویو متن در جاوا به دست آورید. ترکیب آن در زیر ارائه شده است .
private AutoCompleteTextView actv;
actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
کار بعدی که لازم است انجام دهید تعیین لیست آیتم های پیشنهادی نمایش داده شده می باشد. شما می توانید آیتم های لیست را به عنوان یک ردیف رشته در جاوا یا رشته های xml مشخص کنید، که ترکیب آن در زیر ارائه شده است.
String[] countries = getResources().
getStringArray(R.array.list_of_countries);
ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1,countries);
actv.setAdapter(adapter);
گروه تطبیق دهنده ی ردیف، مسئول نمایش داده به عنوان لیست در جعبه ی پیشنهادات فیلد متن می باشد. روش setAdapter برای تنظیم تطبیق کننده ی autoCompleteTextView استفاده می شود. علاوه براین روش ها، روش های دیگری از AutoCompelte وجود دارند که در لیست زیر ارائه می شوند.
مثال:
مثال زیر استفاده از گروه AutoCompleteTextView را توضیح می دهد. این گروه یک برنامه ی پایه ایجاد می کند که به شما اجازه می دهد تا در آن تایپ کنید و پیشنهادها را روی دستگاه شما نشان می دهد.
برای آزمایش با این مثال لازم است آن را روی یک دستگاه واقعی یا یک مقلد اجرا کنید.
در اینجا محتوای src/com.example.autocomplete/MainActivity.java را مشاهده می کنید.
package com.example.autocomplete;
import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.widget.ArrayAdapter;
import android.widget.AutoCompleteTextView;
import android.widget.MultiAutoCompleteTextView;
public class MainActivity extends Activity {
private AutoCompleteTextView actv;
private MultiAutoCompleteTextView mactv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] countries = getResources().
getStringArray(R.array.list_of_countries);
ArrayAdapter adapter = new ArrayAdapter
(this,android.R.layout.simple_list_item_1,countries);
actv = (AutoCompleteTextView) findViewById(R.id.autoCompleteTextView1);
mactv = (MultiAutoCompleteTextView) findViewById
(R.id.multiAutoCompleteTextView1);
actv.setAdapter(adapter);
mactv.setAdapter(adapter);
mactv.setTokenizer(new MultiAutoCompleteTextView.CommaTokenizer());
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}
در اینجا محتوای activity_main.xml را مشاهده می کنید.
</relativelayout>
در اینجا محتوای AndroidManifest.xml را مشاهده می کنید.
AutoComplete
Settings
Hello world!
AutoComplete
Multi AutoComplete
- USA
- Uk
- Canada
- Australia
- France
- Italy
- China
- Japan
- Spain
</resources>
اجازه دهید برنامه ی مدیریت اندروید شما را اجرا کنیم. فرض می کنیم که در هنگام انجام تنظیمات محیط، AVD خود را متصل کرده اید. برای اجرای برنامه از Eclipse، یکی از فایل های فعالیت برنامه ی خود را باز کنید و روی آیکن Run در تولبار کلیک کنید. Eclipse این برنامه را روی AVD شما نصب خواهد کرد و AVD شما صفحه ی زیر را نمایش خواهد داد.
حالا فقط روی تکست ویو تایپ کنید تا پیشنهادات را ببینید. به عنوان مثال به محض اینکه من دو حرف ca را تایپ کردم در پیشنهادات لغت Canada ارائه شد.
multiAutoCompleteTextView پیشنهاداتی را نه تنها برای یک کلمه بلکه برای کل یک متن ارائه می دهد. پس از نوشتن اولین لغت، زمانی که شروع به نوشتن دومین لغت کردم، پیشنهاداتی را به من نمایش داد که در تصویر زیر می بینید.