ArrayAdapter的使用

  1. ArrayAdapter中需要重写getView()方法,在getView方法中,填充Layout并绑定数据。上下文可以通过构造函数传过来,也可以用ViewGroup parent。
  2. TextView中的setText方法,不能传递int类型数据,可以先把类型数据转化成String类型。转化方法为int+""。
 1 public class FruitAdapter extends ArrayAdapter<Fruit> {
 2     private int resource;
 3     private List<Fruit> data;
 4     private Context context;
 5 
 6     public FruitAdapter(Context context, int resource, List<Fruit> data) {
 7         super(context, resource, data);
 8         this.resource=resource;
 9         this.data=data;
10         this.context=context;
11     }
12 
13     @NonNull
14     @Override
15     public View getView(int position, View convertView, ViewGroup parent) {
16         View view= LayoutInflater.from(context).inflate(resource,null);
17         TextView tv_name=(TextView) view.findViewById(R.id.tv_name);
18         TextView tv_age=(TextView) view.findViewById(R.id.tv_age);
19         tv_name.setText("Fruint Name:"+data.get(position).getName());
20         tv_age.setText("Pirce:"+data.get(position).getAge());
21 
22         return view;
23     }
24 }
 1 package finishactivity.zhangmeng.com.listviewdemo;
 2 
 3 import android.support.v7.app.AppCompatActivity;
 4 import android.os.Bundle;
 5 import android.widget.ListView;
 6 
 7 import java.util.ArrayList;import java.util.List;
 8 
 9 public class MainActivity extends AppCompatActivity {
10     private List<Fruit> data=new ArrayList<>();
11 
12     @Override
13     protected void onCreate(Bundle savedInstanceState) {
14         super.onCreate(savedInstanceState);
15         setContentView(R.layout.activity_main);
16         Fruit apple=new Fruit("apple",30);
17         Fruit peach=new Fruit("peach",40);
18         Fruit banana=new Fruit("Banana",30);
19         Fruit grape=new Fruit("grape",10);
20         data.add(apple);
21         data.add(peach);
22         data.add(banana);
23         data.add(grape);
24         ListView lv=(ListView)findViewById(R.id.lv);
25         //lv.setAdapter(new FruitAdapter(this,R.layout.item,data));
26         lv.setAdapter(new Myadapter(data));
27        // lv.getOnItemClickListener(new AdapterView.OnItemClickListener());
28     }
29 }
原文地址:https://www.cnblogs.com/WebGiant/p/5916964.html