BaseAdapter是所有Adapter的父类;
例子如下:
布局代码中就一个简单的ListView;
<ListView
android:id="@+id/lv_view1"
android:layout_width="match_parent"
android:layout_height="wrap_content"/>
定义一个MyAdapter的类继承与BaseAdapter;
代码如下:
public class MyAdapter extends BaseAdapter {
ArrayList<String>date;
Context context;
//构造器
public MyAdapter(Context context,ArrayList<String>date){
this.context=context;
this.date=date;
}
@Override
//指定一共有多少条目;
public int getCount() {
// TODO Auto-generated method stub
return date.size() ;
}
@Override
//获取条目的位置
public Object getItem(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
//该方法的返回值为列表项的Id;
public long getItemId(int position) {
// TODO Auto-generated method stub
return position;
}
@Override
//该方法的返回值将作为列表框
//第一个变量是指的在数据源中的位置;
public View getView(int position, View convertView, ViewGroup parent) {
// TODO Auto-generated method stub
if(convertView==null){
LayoutInflater mInflater=LayoutInflater.from(context);
convertView=mInflater.inflate(R.layout.item, null);
}
TextView text=(TextView) convertView.findViewById(R.id.tv_view);
text.setTextSize(20);
//显示数组中定义的数据
text.setText(date.get(position));
return convertView;
}
}
下面是java代码如下:
public class MainActivity extends Activity {
ListView list;
MyAdapter adapter;
ArrayList<String>date;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_main);
list=(ListView) findViewById(R.id.lv_view1);
date=new ArrayList<String>();
date.add("aaa");
date.add("bbb");
adapter=new MyAdapter(MainActivity.this,date);
list.setAdapter(adapter);
}
}这样一个简单的列表就做出来;