سؤال

إليكم السيناريو الخاص بي: لقد حصلت على قاعدة بيانات ، حيث يكون عمودان مثيران للاهتمام بالنسبة لي. لقد قمت الآن بإنشاء AutoCompletExtView حيث المحول Gehts عبر SQL إدخالات عمود واحد.

حتى الآن ... جيد جدًا ، لكن ما أريده بالفعل هو أنه إذا قام المستخدمون بتكوين STH. في الملعب التلقائي ، لاحظت هذا وجلب النص. عبر SQL أريد الآن الحصول على إدخال Everey العمود 2 حيث توجد قيمة العمود 1 في النص الذي تم إدخاله. ويجب عرض هذه القائمة في المحول. بمعنى آخر ، أقوم بتصفية البيانات بنفسي عبر SQL ولكني أريد أن يتم عرضها في المحول.المشكلة هي, ، أن المحول يعرض فقط الإدخالات التي تبدأ بالنص الموجود في الملعب التلقائي ، لكنني أريد أن أعرض المحول في أي وقت ، كما هو الحال بالفعل: أقوم بتصفية البيانات بنفسي فقط أريد أن يعرضها المحول. أي ideo كيفية حل هذا؟ هل الإكمال التلقائي هو العنصر الصحيح لاستخدامه؟

فكرت أيضًا في استخدام الدوار البسيط ... ولكن عند استخدام الدوار ، هناك مشكلتان رئيسيتان. أولا سأضطر لجعله قابل للتحرير. وثانياً سأحتاج إلى منسد بدلاً من "المنبثقة". ...

فكرة أخرى عن حل هذه المشكلة هي كتابة مرشح خاص لحقل الإكمال التلقائي ... لكنني لم أسقط هذا حتى الآن ولم أتمكن من العثور على أي أمثلة في الإنترنت للقيام بذلك.

شكرا لمساعدتك

هل كانت مفيدة؟

المحلول

لقد غيرت طريقة ArrayAdapter لـ Spinner وحصلت على الدوار المخصص. فقط قم بتغيير معلمة هذه الطريقة مثل

 Spinner spinner = (Spinner) findViewById(R.id.Spinner01);
 ArrayAdapter<CharSequence>   adapter=ArrayAdapter.createFromResource(This,R.array.statename,R.layout.mylayout);
 spinner.setAdapter(adp);

الذي يحتوي عليه ملف myLayout

<EditText 
 android:layout_width="fill_parent"
 android:layout_height="fill_parent"
 android:id="@+id/spinnerTarget"
 android:textColor="#FF8B1500"
 android:gravity="center"
>

نصائح أخرى

يمكنك استخدام completeTextView AutoCompleteTextView وتعيين محوله على قيمك من SQLite أو من صفيف السلسلة كما هو موضح أدناه:

String values[]= {"Orange","Apple","Pineapple"};
AutoCompleteTextView text=(AutoCompleteTextView)findViewById(R.id.a1);
text.setAdapter(new ArrayAdapter<String>    
    (this,android.R.layout.simple_dropdown_item_1line,values));

لمزيد من المعلومات الموجودة في ذلك ، انتقل إلى موقع المطورين

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top