千家信息网

封装的适配器adapter如何用

发表于:2024-11-28 作者:千家信息网编辑
千家信息网最后更新 2024年11月28日,封装的适配器adapter如何用,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。//封装的适配器类 adapterpublic cla
千家信息网最后更新 2024年11月28日封装的适配器adapter如何用

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

//封装的适配器类 adapterpublic 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;}@Overridepublic int getCount() {// 在此适配器中所代表的数据集中的条目数return data.size();}@Overridepublic Object getItem(int position) {// 获取数据集中与指定索引对应的数据项return position;}@Overridepublic long getItemId(int position) {// 获取在列表中与指定索引对应的行idreturn position;}// 获取一个在数据集中指定索引的视图来显示数据@Overridepublic View getView(int position, View convertView, ViewGroup parent) {ViewHolder holder = null;// 如果缓存convertView为空,则需要创建Viewif (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里,以便后面方便取出TagconvertView.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;@Overrideprotected 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();}@Overridepublic 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如何用问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注行业资讯频道了解更多相关知识。

0