版权声明:本文为博主原创文章,未经博主允许不得转载。 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);
}
}