activity_main.xml

            

items.xml

<?xml version="1.0" encoding="utf-8"?>    

MainActivity.java

package com.example.android_listview_adapter;import java.util.ArrayList;import java.util.List;import android.support.v7.app.ActionBarActivity;import android.os.Bundle;import android.view.LayoutInflater;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends ActionBarActivity {private ListView listView;private MyAdapter myAdapter;//自定义适配器@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);listView=(ListView) this.findViewById(R.id.listView1);myAdapter=new MyAdapter(getData());//把数据加进去listView.setAdapter(myAdapter);}public List getData(){List list=new ArrayList();for(int i=0;i<100;i++){list.add("ccnu"+i);}return list;}/** *  * @author liuya * *一个基本的适配器有四个属性getCount,getItem,getItemId,getView *///由于json数据太复杂,所以要自定义适配器,声明适配器的类public class MyAdapter extends BaseAdapter{private List list;//构造方法,通过构造方法传递参数public MyAdapter(List list) {// TODO Auto-generated constructor stubthis.list=list;}@Overridepublic int getCount() {// TODO Auto-generated method stubreturn list.size();//得到适配器中填充的集合的个数,即是适配器的个数}@Overridepublic Object getItem(int position) {// TODO Auto-generated method stubreturn list.get(position);//得到数据集的选项}@Overridepublic long getItemId(int position) {// TODO Auto-generated method stubreturn position;}@Overridepublic View getView(int position, View convertView, ViewGroup parent) {// TODO Auto-generated method stubView view=LayoutInflater.from(MainActivity.this).inflate(R.layout.items, null);//手工加载一个布局TextView textView=(TextView) view.findViewById(R.id.textView1);//把items.xml中的TextView加载到页面textView.setText(list.get(position));System.out.println("---->>"+position);return view;}}@Overridepublic boolean onCreateOptionsMenu(Menu menu) {// Inflate the menu; this adds items to the action bar if it is present.getMenuInflater().inflate(R.menu.main, menu);return true;}@Overridepublic boolean onOptionsItemSelected(MenuItem item) {// Handle action bar item clicks here. The action bar will// automatically handle clicks on the Home/Up button, so long// as you specify a parent activity in AndroidManifest.xml.int id = item.getItemId();if (id == R.id.action_settings) {return true;}return super.onOptionsItemSelected(item);}}
效果图如下

Android之自定义适配器_第1张图片

更多相关文章

  1. Android 数据存储
  2. Android手机客户端与Servlet交换数据
  3. 【Android學習專題】数据存储篇:SQLite
  4. Android 数据库操作 创建 添加 删除 查询
  5. Android中获取网页表单中的数据
  6. Android数据缓存
  7. Android解析服务器端发来的xml数据
  8. Android android下的数据持久化和读取数据,保存数据到手机及SD卡

随机推荐

  1. android ListView中添加ImageButton按钮
  2. Android Handler机制
  3. 如何在android 中编译alsa-utils工具
  4. Android(安卓)最火的快速开发框架XUtils
  5. android内核编译方法
  6. [置顶] Android面试题【高级工程师版】
  7. android下不规则多边形填充位图
  8. Android : 隐藏软键盘
  9. Android SplashActivity启动时黑屏的问题
  10. Android包(android.view.animation)的简介