安卓学习笔记-ArrayAdapter及ListView

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_30241709/article/details/79770172

使用系统的ArrayAdapter:

package com.example.birdguan.exercise;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    private ListView listView;
    private ArrayAdapter<String> arrayAdapter;
    private String[] name = {"a","b","c","d","e","f","g","h","i","j","k","l","m","n"};
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.lv);
        arrayAdapter = new ArrayAdapter<String>(this, R.layout.support_simple_spinner_dropdown_item,name);
        listView.setAdapter(arrayAdapter);
    }
}

自定义Adapter:

自定义的MyAdapter中必须要重新复写以下四个函数:

  • getCount
  • getItem
  • getItemId
  • getViem

代码:

MyAdapter类:

package com.example.birdguan.exercise;

import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ListView;
import android.widget.TextView;

/**
 * Created by 46611 on 2018/3/31.
 */

public class MyAdapter extends BaseAdapter {
    private Context context;
    private String[] data;
    public MyAdapter(Context context, String[] data){
        this.context = context;
        this.data = data;
    }

    @Override
    public int getCount() {
        return data.length;
    }

    @Override
    public Object getItem(int position) {
        return data[position];
    }

    @Override
    public long getItemId(int position) {
        return position;
    }

    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
         if (convertView == null){
             convertView = LayoutInflater.from(context).inflate(R.layout.cell,null);
         }
        TextView rb = convertView.findViewById(R.id.radioButton);
         rb.setText(data[position]);
        return convertView;
    }
}

MainActivity类:

package com.example.birdguan.exercise;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

import java.util.List;

public class MainActivity extends AppCompatActivity {

    private ListView listView;
    private MyAdapter myAdapter;
    private String[] city = {"上海","北京","深圳","广州","杭州","苏州","常熟","南京","昆山","四川","重庆","南通","泰州","长沙","武汉","新疆","郑州","哈尔滨","东莞"};

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = findViewById(R.id.lv);
        myAdapter = new MyAdapter(this,city);
        listView.setAdapter(myAdapter);
    }
}

猜你喜欢

转载自blog.csdn.net/qq_30241709/article/details/79770172