BaseAdapter

来源:互联网 发布:视频格式转换器 mac 编辑:程序博客网 时间:2024/06/07 14:14

package com.yztc.BaseAdapter;

import java.util.ArrayList;
import java.util.List;

import com.yztc.SimpAdapter.R;
import com.yztc.SimpAdapter.R.layout;
import com.yztc.SimpAdapter.R.menu;

import android.os.Bundle;
import android.app.Activity;
import android.content.Context;
import android.support.v4.content.ContextCompat;
import android.view.LayoutInflater;
import android.view.Menu;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

/**
* BaseAdapter自定义适配器(重点)
* 1.定义子类继承BaseAdapter
* 2.重写BaseAdapter中相应的函数
* 3.创建自定义适配器
*/

public class Main2Activity extends Activity {private ListView lv2;private List<String> list;@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main2);    lv2 = (ListView) findViewById(R.id.lv2);    list = new ArrayList<String>();    for (int i = 1; i <= 10; i++) {        list.add("item" + i);    }    MyBaseAdapter adapter = new MyBaseAdapter();    lv2.setAdapter(adapter);}// 1.定义子类继承BaseAdapterclass MyBaseAdapter extends BaseAdapter {    // 当前适配器中加载的数据总条目    @Override    public int getCount() {        // TODO Auto-generated method stub        return list.size();    }    // 根据指定下标获取对应item的view    @Override    public Object getItem(int position) {        // TODO Auto-generated method stub        return list.get(position);    }    // 根据指定下标获取获取当前item的id    @Override    public long getItemId(int position) {        // TODO Auto-generated method stub        return position;    }    // 根据指定下标获取适配器控件中每个item对应的view对象    @Override    // int position表示当前绘制的item的下标, View convertView表示可复用的view对象,    // ViewGroup parent当前绘制的item所属的ListView控件    public View getView(int position, View convertView, ViewGroup parent) {        // 代码动态设置控件        // TextView tv = new TextView(Main2Activity.this);        // tv.setTextSize(25);        // tv.setText(list.get(position));        // 布局填充器,打气筒(将xml文件转换为view对象)        LayoutInflater inflater = (LayoutInflater)getSystemService(Context.LAYOUT_INFLATER_SERVICE);        // 转换为view对象        View view = inflater.inflate(R.layout.list_item2, null);        // 获取适配器布局的控件对象        TextView tv1 = (TextView) view.findViewById(R.id.tv1);        tv1.setText(list.get(position));        return view;        }    }}<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"android:layout_width="match_parent"android:layout_height="match_parent" ><ListView    android:id="@+id/lv2"    android:layout_width="match_parent"    android:layout_height="match_parent" ></ListView></RelativeLayout>
原创粉丝点击