English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

تحليل وتعريف نموذج التكيف لـ Android Spinner ومثال على الشيفرة

الاخيرة قمت بمشروع Android Spinner، هنا اكتب مثالاً صغيراً لاختبار كيفية الاستخدام.

Spinner

هي قائمة تنسق، قم بسحب عنصر Spinner إلى واجهة المستخدم الأندرويد، وقم بتعيين خاصية Android:entries=“@array/spinner_data” في الخصائص.
حيث spinner_data هو مصدر البيانات المحدد في string. يحتوي المصدر على قيم مكتوبة مسبقًا. في هذه الحالة، يمكنك إعداد قائمة التسلسل في الواجهة.

<Spinner 
    android:id="@+id/spinner1" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:layout_alignLeft="@+id/textView1" 
    android:layout_below="@+id/textView1" 
    android:layout_marginTop="17dp" 
    android:entries="@array/spinner_data"/> 

بالطبع، من أجل تحسين تجربة المستخدم، يمكنك تعيين خاصية android:spinnerMode="dialog"، مما يجعل قائمة التسلسل تتضمن نافذة قائمة.

مروجة:

مهمة مروجة البيانات هي استخراج البيانات من مصدر البيانات، وإيصالها إلى عناصر واجهة المستخدم المختلفة. المروجة الرئيسية adapter هي ArrayAdapter و BaseAdapter. حيث أن المروجة مسؤولة عن استخراج البيانات من مصدر بيانات مثل قائمة من أجل Spinner، وعرضها في الواجهة.

أولاً تعريف مصدر البيانات

private String[] ss=new String[]{ 
    "القط", 
    "الفهد", 
    "الأسد", 
  }; 

مصدر البيانات 2

private List<String> list=new ArrayList<String>(); 
list.add("百度"); 
    list.add("腾讯"); 
    list.add("阿里巴巴"); 

ثم تعريف فئة Myadapter تورث من فئة BaseAdapter، ويوجد فيها طريقتان مجردة أربعة.

private class Myadapter extends BaseAdapter{ 
  @Override 
  public int getCount</span>() { 
    // TODO Auto-generated method stub 
    عدد عودss.length; 
  } 
  @Override 
  public Object getItem(int position) { 
    // TODO Auto-generated method stub 
    عدد عودnull; 
  } 
  @Override 
  public long getItemId(int position) { 
    // TODO Auto-generated method stub 
    عدد عود0; 
  } 
  @Override 
  public View getView(int position, View convertView, ViewGroup parent) { 
    // TODO Auto-generated method stub 
    TextView textView=new TextView(MainActivity.this); 
    textView.setText(ss[position]); 
    return textView; 
  } 

ثم في الدالة الرئيسية

Spinner spinner=(Spinner) findViewById(R.id.spinner1); 
    BaseAdapter adapter=new Myadapter(); 
    spinner.setAdapter(adapter); 

أولاً ابحث عن عنصر Spinner، وأحدد adapter جديد. باستخدام محدث adapter لجمع البيانات من مصدر البيانات ss.

أهم طريقة في محدث BaseAdapter هي getcount() و getview()، الأولى تعود بطول المصدر، والثانية تقوم ببعض العمليات.

بالطبع يمكنك استخدام محدث ArrayAdaper بسيط.

Spinner spinner=(Spinner) findViewById(R.id.spinner1); 
    ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,ss); 
    spinner.setAdapter(adapter); 

من خلال هذه العبارات، يمكنك تحديد موقعك مباشرة في المجموعة ss.

شكراً على القراءة، آمل أن تساعدكم، شكراً لدعمكم لهذا الموقع!

توصيات لك