封装的适配器adapter如何用

封装的适配器adapter如何用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。

创新互联-云计算及IDC服务提供商,涵盖公有云、IDC机房租用、服务器托管、等保安全、私有云建设等企业级互联网基础服务,联系电话:028-86922220

//封装的适配器类 adapter
public class NewJobAdapter extends BaseAdapter{
private List> data = null;
private LayoutInflater mInflater = null;
private Context mContext;
public NewJobAdapter(){
}
public NewJobAdapter(Context context, List> list) {
// 根据context上下文加载布局
this.mInflater = LayoutInflater.from(context);
mContext = context;
data = list;
}
@Override
public int getCount() {
// 在此适配器中所代表的数据集中的条目数
return data.size();
}
@Override
public Object getItem(int position) {
// 获取数据集中与指定索引对应的数据项
return position;
}
@Override
public long getItemId(int position) {
// 获取在列表中与指定索引对应的行id
return position;
}
// 获取一个在数据集中指定索引的视图来显示数据
@Override
public View getView(int position, View convertView, ViewGroup parent) {
ViewHolder holder = null;
// 如果缓存convertView为空,则需要创建View
if (convertView == null) {
holder = new ViewHolder();
// 根据自定义的Item布局加载布局
convertView = mInflater.inflate(R.layout.item_list_new_job, null);
holder.img = (ImageView) convertView.findViewById(R.id.id_img);
holder.time = (TextView) convertView.findViewById(R.id.id_time);
holder.address = (TextView) convertView.findViewById(R.id.id_address);
holder.message = (TextView) convertView.findViewById(R.id.id_message);
holder.price = (TextView) convertView.findViewById(R.id.id_price);
// 将设置好的布局保存到缓存中,并将其设置在Tag里,以便后面方便取出Tag
convertView.setTag(holder);
} else {
holder = (ViewHolder) convertView.getTag();
}
holder.img.setBackgroundResource((Integer) data.get(position).get("img"));
holder.time.setText((String) data.get(position).get("time"));
holder.message.setText((String) data.get(position).get("area"));
holder.address.setText((String) data.get(position).get("position"));
return convertView;
}
/**
 * ViewHolder静态类
 * 图片
 * 工作职位
 * 时间
 * 兼职地点
 * 价钱
 * */ 
static class ViewHolder {
public ImageView img;
public TextView message;
public TextView time;
public TextView address;
public TextView price;
}
}
//activity调用
public class NewJobActivity extends Activity implements OnItemClickListener{
private List> data = null;
private List> list;
private ListView mListView;
private NewJobAdapter adapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
WindowManager.LayoutParams.FLAG_FULLSCREEN);
setContentView(R.layout.activity_new_job);
mListView = (ListView) findViewById(R.id.new_job_list);
mListView.setOnItemClickListener(this);
data = getData();// 获取数据
adapter = new NewJobAdapter(this, data);
mListView.setAdapter(adapter);
}
private List> getData(){
list = new ArrayList>();
Map map;
for(int i=0; i<20; i++){
map = new HashMap();
map.put("time", "2015-01-30");
map.put("img", R.drawable.ic_launcher);
map.put("area", "三亚市区");
map.put("position", "促销员");
list.add(map);
}
return list;
}
public void backClick(View v){
NewJobActivity.this.finish();
}
@Override
public void onItemClick(AdapterView arg0, View arg1, int arg2, long arg3) {
// TODO Auto-generated method stub
//Toast.makeText(this, "" + arg2, Toast.LENGTH_LONG).show();
}
}
//item_list


    
        
        
        
        
        
    

关于封装的适配器adapter如何用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注创新互联行业资讯频道了解更多相关知识。


文章名称:封装的适配器adapter如何用
本文URL:http://myzitong.com/article/gchsjs.html