安卓自寫Adapter

來源:互聯網
上載者:User

標籤:

代碼:

package com.example.ouradapter;import android.app.ListActivity;import android.content.Context;import android.graphics.Color;import android.os.Bundle;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.widget.AdapterView;import android.widget.AdapterView.OnItemClickListener;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.RelativeLayout;import android.widget.TableLayout.LayoutParams;import android.widget.TextView;import android.widget.Toast;public class MainActivity extends ListActivity {      private String[] mListTitle = { "姓名", "性別", "年齡", "居住地","郵箱"};      private String[] mListStr = { "雨松MOMO", "男", "25", "北京",          "[email protected]" };      ImageView iamge = null;      TextView title = null;      TextView text = null;    ListView mListView = null; //    RelativeLayout rl=(RelativeLayout)this.findViewById(R.id.rl);    MyListAdapter myAdapter = null;      @Override      protected void onCreate(Bundle savedInstanceState) {     mListView = getListView();      myAdapter = new MyListAdapter(this);      setListAdapter(myAdapter);      mListView.setOnItemClickListener(new OnItemClickListener() {          @Override          public void onItemClick(AdapterView<?> adapterView, View view, int position,              long id) {          View v=adapterView.getChildAt(position);          v.setBackgroundColor(Color.RED);          Toast.makeText(MainActivity.this,"您選擇了" + mListStr[position], Toast.LENGTH_LONG).show();          }      });     //    View v=LayoutInflater.from(this).inflate(R.layout.activity_main, null);//    iamge = (ImageView)v.findViewById(R.id.color_image);  //    title =(TextView)v.findViewById(R.id.color_title);  //    text= (TextView)v.findViewById(R.id.color_text);//    title.setText(mListTitle[1]);  //    text.setText("123456789");  //    iamge.setImageResource(R.drawable.ic_launcher); //    this.addContentView(v,new LinearLayout.LayoutParams(      //            LinearLayout.LayoutParams.WRAP_CONTENT,      //            LinearLayout.LayoutParams.WRAP_CONTENT));    super.onCreate(savedInstanceState);      }         public class MyListAdapter extends BaseAdapter {         private Context mContext;          private int[] colors = new int[] {Color.BLUE, Color.GREEN,Color.YELLOW,Color.WHITE };          public MyListAdapter(Context context) {              mContext = context;          }                 public int getCount() {              return mListStr.length;          }         //        @Override  //        public boolean areAllItemsEnabled() {  //            return false;  //        }          @Override         public Object getItem(int position) {              return position;          }          @Override         public long getItemId(int position) {              return position;          }         @Override        public View getView(int position, View convertView, ViewGroup parent) {                           if (convertView == null) {              convertView = LayoutInflater.from(mContext).inflate(R.layout.activity_main, null);              iamge = (ImageView) convertView.findViewById(R.id.color_image);              title =(TextView) convertView.findViewById(R.id.color_title);              text= (TextView) convertView.findViewById(R.id.color_text);              }              int colorPos = position % colors.length;              convertView.setBackgroundColor(colors[colorPos]);              title.setText(mListTitle[position]);              text.setText(mListStr[position]);               iamge.setImageResource(R.drawable.ic_launcher);              return convertView;         }        }  }  

listView在一開始繪製的時候首先會調用getCout()方法得到繪製次數 ,然後會執行個體化自己定義的BaseAdapter通過getView()方法一層一層繪製ListView,所以我們可以在這裡面根據position(當前繪製的ID)來任意的修改繪製的內容。結果:

安卓自寫Adapter

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.