<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > Android中Spinner下拉列表(使用ArrayAdapter和自

          Android中Spinner下拉列表(使用ArrayAdapter和自

          作者: 時間:2016-10-08 來源:網(wǎng)絡(luò) 收藏

          1 :Android中Spinner下拉列表(使用ArrayAdapter和自定義Adapter實現(xiàn)) .

          本文引用地址:http://www.ex-cimer.com/article/201610/305614.htm

          今天學(xué)習(xí)了Spinner組件,使用Spinner相當(dāng)于從下拉列表中選擇項目,下面演示一下Spinner的使用(分別使用ArrayAdapter和自定義Adapter實現(xiàn))

          (一):使用ArrayAdapter進(jìn)行適配數(shù)據(jù):

          ①:首先定義一個布局文件:

          android:layout_width=fill_parent

          android:layout_height=fill_parent

          android:orientation=vertical >

          android:id=@+id/spinner1

          android:layout_width=match_parent

          android:layout_height=wrap_content

          />

          ②:建立數(shù)據(jù)源,使用數(shù)組,這些數(shù)據(jù)將會在Spinner下來列表中進(jìn)行顯示:

          北京

          上海

          廣州

          深圳

          ③:接著在Activity中加入如下的代碼(使用了系統(tǒng)定義的下拉列表的布局文件,當(dāng)然也可以自定義)

          // 初始化控件

          mSpinner = (Spinner) findViewById(R.id.spinner1);

          // 建立數(shù)據(jù)源

          String[] mItems = getResources().getStringArray(R.array.spinnername);

          // 建立Adapter并且綁定數(shù)據(jù)源

          ArrayAdapter _Adapter=new ArrayAdapter(this,android.R.layout.simple_spinner_item, mItems);

          //綁定 Adapter到控件

          mSpinner.setAdapter(_Adapter);

          下面是關(guān)于Spinner的點擊事件(效果圖如上圖):

          mSpinner.setOnItemSelectedListener(new OnItemSelectedListener() {

          @Override

          public void onItemSelected(AdapterView parent, View view,

          int position, long id) {

          String str=parent.getItemAtPosition(position).toString();

          Toast.makeText(SpinnerActivity.this, 你點擊的是:+str, 2000).show();

          }

          @Override

          public void onNothingSelected(AdapterView parent) {

          // TODO Auto-generated method stub

          }

          });

          (二)使用自定義的Adapter(重點)

          ①:定義每一個Item的布局文件

          android:layout_width=match_parent

          android:layout_height=match_parent

          android:orientation=horizontal >

          android:id=@+id/textView1

          android:layout_width=wrap_content

          android:layout_height=wrap_content

          android:drawableLeft=@drawable/ic_launcher

          android:paddingRight=8dip

          android:paddingTop=8dip

          android:text=TextView

          android:textSize=25sp />

          android:id=@+id/textView2

          android:layout_width=wrap_content

          android:layout_height=wrap_content

          android:paddingLeft=8dip

          android:paddingTop=8dip

          android:text=TextView

          android:textSize=25sp />

          ②:建立Person類:

          package com.jiangqq.csdn;

          public class Person {

          private String personName;

          private String personAddress;

          public Person(String personName, String personAddress) {

          super();

          this.personName = personName;

          this.personAddress = personAddress;

          }

          public String getPersonName() {

          return personName;

          }

          public void setPersonName(String personName) {

          this.personName = personName;

          }

          public String getPersonAddress() {

          return personAddress;

          }

          public void setPersonAddress(String personAddress) {

          this.personAddress = personAddress;

          }

          }

          ③:創(chuàng)建MyAdapter繼承與BaseAdapter,進(jìn)行適配:

          package com.jiangqq.csdn;

          import java.util.List;

          import android.content.Context;

          import android.view.LayoutInflater;

          import android.view.View;

          import android.view.ViewGroup;

          import android.widget.BaseAdapter;

          import android.widget.TextView;

          /**

          * 自定義適配器類

          * @author jiangqq

          *

          */

          public class MyAdapter extends BaseAdapter {

          private List mList;

          private Context mContext;

          public MyAdapter(Context pContext, List pList) {

          this.mContext = pContext;

          this.mList = pList;

          }

          @Override

          public int getCount() {

          return mList.size();

          }

          @Override

          public Object getItem(int position) {

          return mList.get(position);

          }

          @Override

          public long getItemId(int position) {

          return position;

          }

          /**

          * 下面是重要代碼

          */

          @Override

          public View getView(int position, View convertView, ViewGroup parent) {

          LayoutInflater _LayoutInflater=LayoutInflater.from(mContext);

          convertView=_LayoutInflater.inflate(R.layout.item, null);

          if(convertView!=null)

          {

          TextView _TextView1=(TextView)convertView.findViewById(R.id.textView1);

          TextView _TextView2=(TextView)convertView.findViewById(R.id.textView2);

          _TextView1.setText(mList.get(position).getPersonName());

          _TextView2.setText(mList.get(position).getPersonAddress());

          }

          return convertView;

          }

          }

          ④:在Activity中加入如下代碼:

          // 初始化控件

          mSpinner = (Spinner) findViewById(R.id.spinner1);

          // 建立數(shù)據(jù)源

          List persons=new ArrayList();

          persons.add(new Person(張三, 上海 ));

          persons.add(new Person(李四, 上海 ));

          persons.add(new Person(王五, 北京 ));

          persons.add(new Person(趙六, 廣州 ));

          // 建立Adapter綁定數(shù)據(jù)源

          MyAdapter _MyAdapter=new MyAdapter(this, persons);

          //綁定Adapter

          mSpinner.setAdapter(_MyAdapter);



          關(guān)鍵詞:

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();