zoukankan      html  css  js  c++  java
  • BaseAdapter的基本使用

    ***BaseAdapter的基本使用

    *自定义适配器的步骤:
    1.定义子类继承BaseAdapter
    2.需要重写自定义适配器中相应的函数
    3.创建自定义适配器对象并使用

    public class MainActivity extends Activity {
    	private ListView lv;
    	private List<String> list;
    
    	@Override
    	protected void onCreate(Bundle savedInstanceState) {
    		super.onCreate(savedInstanceState);
    		setContentView(R.layout.activity_main);
    		
    		lv = (ListView) findViewById(R.id.lv);
    		list = new ArrayList<String>();
    		for (int i = 1; i <= 10; i++) {
    			list.add("item"+i);
    		}
    		
    		MyBaseAdapter adapter = new MyBaseAdapter();
    		lv.setAdapter(adapter);
    		
    	}
    	/*使用内部类实现BaseAdapter*/
    	class MyBaseAdapter extends BaseAdapter{
    
    		@Override
    		public int getCount() {      //表示当前适配器中加载的数据的总条目
    			return list.size();
    		}
    
    		@Override
    		public Object getItem(int position) {  //根据指定下标获取对应item的View
    			return list.get(position);
    		}
    
    		@Override
    		public long getItemId(int position) {   //表示根据指定下标获取当前item的id
    			return position;
    		}
    		
    		/*
    		 * getView()方法表示根据指定下标获取适配器控件中每个item对应的View对象(得到每个用于展示数据的item视图)
    		 * int position:表示当前绘制的item的下标
    		 * View convertView:表示可复用的view对象
    		 * ViewGroup parent:表示当前绘制的item所属的listview控件
    		 */
    		@Override            
    		public View getView(int position, View convertView, ViewGroup parent) {
    			//可直接通过构建控件显示 
    			/*TextView tv = new TextView(MainActivity.this);
    			tv.setTextSize(25);
    			tv.setText(list.get(position));
    			return tv;*/
    			
    			//也可通过先创建一个xml文件设置,但需要用到LayoutInflater布局加载器将xml文件转换为View对象
    			LayoutInflater inflater = (LayoutInflater) getSystemService(Context.LAYOUT_INFLATER_SERVICE);//获得布局填充器对象
    			View view = inflater.inflate(R.layout.item_test, null);//将list_view这个xml文件转换成view对象
    			TextView tv = (TextView) view.findViewById(R.id.tv);//获取list_test布局文件中的textview控件
    			tv.setText(list.get(position));
    			return view;			
    		}
    		
    	}
    }
  • 相关阅读:
    Linux中$含义
    Linux文本处理之grep
    MySQL8.0.15的安装与配置---win10
    Jenkins实现自动运行jmeter脚本
    Hystrix初识
    Feign初始
    AS的Gradle下载不成功
    Linux安装一些软件
    OAuth2初识
    IDEA无法打开等奇异问题终极解决方法
  • 原文地址:https://www.cnblogs.com/SanguineBoy/p/9761282.html
Copyright © 2011-2022 走看看