標籤:android
基於BaseAdapter 實現ListView
注意擴充BaseAdapter 需要重寫以下四個方法
getCount();
getItem();
getItemId();
getView();
程式清單
package xiaocool.net.listviewtest;import android.graphics.Color;import android.os.Bundle;import android.support.v7.app.ActionBarActivity;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ImageView;import android.widget.LinearLayout;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends ActionBarActivity { private ListView list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.listview2); list=(ListView)this.findViewById(R.id.list1); /*//定義一個數組 String arr[]={"校酷網路1","校酷網路2","校酷網路3","校酷網路4","校酷網路5"}; //將數組封裝成ArrayAdapter ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,R.layout.array_item,R.id.textView,arr); list.setAdapter(adapter);*/ BaseAdapter adapter=new BaseAdapter() { //返回總的清單項目數 @Override public int getCount() { return 20; } @Override public Object getItem(int position) { return null; } //返回清單項目的id @Override public long getItemId(int position) { return 0; } //返回每個具體item的樣子 @Override public View getView(int position, View convertView, ViewGroup parent) { //建立一個LinearLayout,並向其中添加兩個控制項 LinearLayout layout=new LinearLayout(MainActivity.this); layout.setOrientation(0); ImageView imageView=new ImageView(MainActivity.this); imageView.setImageResource(R.drawable.syudio); TextView textView=new TextView(MainActivity.this); textView.setText("第"+(position+1)+"項"); textView.setTextColor(Color.BLUE); textView.setTextSize(20); layout.addView(imageView); layout.addView(textView); return layout; } }; list.setAdapter(adapter); }}
650) this.width=650;" src="http://s3.51cto.com/wyfs02/M01/5B/41/wKioL1UD7bqj2Sr1AAJvTv38BmU388.jpg" title="Screenshot_2015-03-14-16-07-49.png" alt="wKioL1UD7bqj2Sr1AAJvTv38BmU388.jpg" />
Android 學習--ListView 的使用(四)