برنامج تعليمي AutoCompleteTextView مع مثال في Android Studio
في نظام Android ، يعد AutoCompleteTextView طريقة عرض مشابهة لـ EditText ، فيما عدا أنه يعرض قائمة باقتراحات الإكمال تلقائيًا أثناء قيام المستخدم بالكتابة. يتم عرض قائمة من الاقتراحات في القائمة المنسدلة التي يمكن للمستخدم من خلالها اختيار عنصر يحل بالفعل محل محتوى Editbox به.

رمز AutoCompleteTextView في XML:
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="This is an AutoCompleteTextView"/>
جدول المحتويات
استخدام محول الصفيف Array Adapter لعرض قيم النص في AutoCompleteTextView :
لعرض محتوى المصفوفة في عرض نص للإكمال التلقائي ، نحتاج إلى تنفيذ المحول . في AutoCompleteTextView نعرض القيم النصية بشكل أساسي لذلك نستخدم Array Adaptor لذلك.
ArrayAdapter في Android:
يتم استخدام ArrayAdapter عندما نحتاج إلى قائمة بنوع واحد من العناصر المدعومة بمصفوفة. على سبيل المثال ، قائمة جهات اتصال الهاتف أو البلدان أو الأسماء.
كود ArrayAdapter:
ArrayAdapter(Context context, int resource, int textViewResourceId, T[] objects)
لمزيد من التفاصيل حول ArrayAdapter والمعلمة المستخدمة ومزيد من التفاصيل ، يرجى قراءة البرنامج التعليمي ArrayAdapter .
استرداد القيمة من AutoCompleteTextView في فئة Java:
أدناه رمز استرداد القيمة من AutoCompleteTextView في فئة Java .
AutoCompleteTextView simpleAutoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.simpleAutoCompleteTextView); String AutoCompleteTextViewValue = simpleAutoCompleteTextView.getText().toString();
سمات وخصائص AutoCompleteTextView :
الآن دعنا نناقش السمات والخصائص التي تساعدنا في تكوين AutoCompleteTextView في ملف xml الخاص بك .
1. المعرف id: المعرف هو سمة تستخدم لتعريف النص بشكل فريد AutoCompleteTextView.
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_height="wrap_content" android:layout_width="match_parent"/>
2. النص text: يتم استخدام سمة النص لتعيين النص في AutoCompleteTextView. يمكننا ضبط النص في XML وكذلك فيفئة java .
أدناه قمنا بتعيين النص "البلد" في AutoCompleteTextView.
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Country"/><!--display text "Country"-->

أدناه قمنا بتعيين الجاذبية الصحيحة لنص AutoCompleteTextView.
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Country" android:gravity="right"/><!--right gravity for text-->

/*Add in Oncreate() funtion after setContentView()*/ AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.simpleAutoCompleteTextView); //display text Country autoCompleteTextView.setText("Country");
4. تلميح hint : تعطي سمة التلميح تلميحًا للمستخدم بأن ما يجب عليه إدخاله في عرض النص الكامل للإكمال التلقائي. كلما بدأ في الكتابة في AutoCompleteTextView ، سيختفي التلميح تلقائيًا.
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Enter Your Country Name Here" /><!--display hint-->

/*Add in Oncreate() funtion after setContentView()*/ AutoCompleteTextView autoCompleteTextView = (AutoCompleteTextView)findViewById(R.id.simpleAutoCompleteTextView); autoCompleteTextView.setHint("Enter Your Name Here");//display hint
5. textColor: تحدد هذه السمة لون النص في AutoCompleteTextView. يمكن أن تكون قيمة اللون على شكل "#argb" أو "#rgb" أو "#rrggbb" أو "#aarrggbb".
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Country" android:textColor="#f00"/><!--red color for text-->

/*Add in Oncreate() funtion after setContentView()*/ AutoCompleteTextView simpleAutoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.simpleAutoCompleteTextView); simpleAutoCompleteTextView.setTextColor(Color.RED);//red color for text
6. textColorHint: تُستخدم هذه السمة لتعيين لون التلميح المعروض.
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="Enter Your Name Here" android:textColorHint="#0f0"/><!--green color for hint-->

/*Add in Oncreate() funtion after setContentView()*/ AutoCompleteTextView simpleAutoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.simpleAutoCompleteTextView); //green color for displayed hint simpleAutoCompleteTextView.setHintTextColor(Color.green(0));
7. textSize: تحدد هذه السمة حجم النص في AutoCompleteTextView. يمكننا ضبط حجم النص في sp (مقياس بكسل مستقل) أو dp (كثافة بكسل).
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Country" android:textSize="25sp" /><!--set the text size-->

/*Add in Oncreate() funtion after setContentView()*/ AutoCompleteTextView simpleAutoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.simpleAutoCompleteTextView); //set the text size simpleAutoCompleteTextView.setTextSize(25);
8. textStyle: يتم استخدام سمة textStyle لإعطاء نمط النص من AutoCompleteTextView. يمكننا إضافة أسلوب جريء ومائل وعادية. إذا أردنا استخدام نمطين أو أكثر من أجل AutoCompleteTextView ثم "|" عامل يستخدم لذلك.
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="Country" android:textSize="25sp" android:textStyle="bold|italic"/><!--bold and italic text style-->

تُستخدم سمة padding المساحة المتروكة لتعيين المساحة المتروكة من اليسار أو اليمين أو أعلى أو أسفل.
أدناه قمنا بتعيين اللون الأسود كخلفية ، واللون الأبيض كما هو معروض وتعيين حشوة 15dp من جميع الجوانب لـ AutoCompleteTextView.
<AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#000" android:hint="Enter Your Name Here" android:padding="15dp" android:textColorHint="#fff" android:textStyle="bold|italic" />

/*Add in Oncreate() funtion after setContentView()*/ AutoCompleteTextView simpleAutoCompleteTextView=(AutoCompleteTextView)findViewById(R.id.simpleAutoCompleteTextView); simpleAutoCompleteTextView.setBackgroundColor(Color.BLACK);//set black background color
مثال AutoCompleteTextView في Android Studio:
في مثال AutoCompleteTextView نعرض عرض النص الكامل التلقائي مع قائمة الاقتراحات التي تتضمن قائمة البلدان. لملء البيانات في قائمة البلدان ، نقوم بتطبيق Array Adaptor . فيما يلي الإخراج النهائي ، قم بتنزيل الكود والبرنامج التعليمي خطوة بخطوة:

الخطوة 2: افتح res -> layout -> activity_mail. xml (أو) main.xml وأضف الكود التالي:
في هذه الخطوة ، نفتح ملف xml ونضيف الرمز لعرض عرض نصي كامل تلقائيًا باستخدام سمات مختلفة كما ناقشنا سابقًا في هذه المقالة.
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="abhiandroid.com.autocompletetextviewtexting.MainActivity"> <AutoCompleteTextView android:id="@+id/simpleAutoCompleteTextView" android:layout_width="fill_parent" android:layout_height="wrap_content" android:background="#000" android:hint="Enter Your Name Here" android:padding="15dp" android:textColorHint="#fff" android:textStyle="bold|italic" /> </RelativeLayout>
الخطوة 3: افتح التطبيق -> الحزمة -> النشاط الرئيسي. جافا
في هذه الخطوة ، نفتح MainActivity حيث نضيف الرمز لبدء عرض النص الكامل التلقائي ثم نملأ البيانات في قائمة الاقتراحات باستخدام Array Adaptivity .
package example.abhiandriod.autocompletetextviewexample; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.Menu; import android.view.MenuItem; import android.widget.ArrayAdapter; import android.widget.AutoCompleteTextView; public class MainActivity extends AppCompatActivity { String[] countryNameList = {"India", "China", "Australia", "New Zealand", "England", "Pakistan"}; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); //initiate an auto complete text view AutoCompleteTextView simpleAutoCompleteTextView = (AutoCompleteTextView) findViewById(R.id.simpleAutoCompleteTextView); ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, countryNameList); simpleAutoCompleteTextView.setAdapter(adapter); simpleAutoCompleteTextView.setThreshold(1);//start searching from 1 character simpleAutoCompleteTextView.setAdapter(adapter); //set the adapter for displaying country name list } }
المخرجات :
الآن ابدأ تشغيل AVD في Emulator وقم بتشغيل التطبيق. اكتب "i" وستظهر "India" كاقتراح ، واكتب "A" وستظهر "Australia" كاقتراح وما إلى ذلك. يتم ذلك باستخدام AutoCompleteTextView.
