java动填充列表控件
时间: 2023-11-10 14:01:15 浏览: 33
要使用Java动态填充列表控件,可以通过以下步骤实现:
1. 创建一个适配器(Adapter)类,继承自BaseAdapter或其子类,并重写相应的方法,例如getCount()、getItem()、getItemId()和getView()等方法。
2. 在适配器的getView()方法中,创建一个布局文件的Inflater对象,使用该对象将布局文件转换为View对象,并设置View对象上的数据。
3. 在Activity或Fragment中,实例化列表控件(如ListView),并创建适配器的实例。
4. 调用列表控件的setAdapter()方法,将适配器对象设置给列表控件。
以下是一个示例代码:
```
// 创建适配器类
public class FruitAdapter extends BaseAdapter {
private List<String> fruitList;
private Context context;
public FruitAdapter(List<String> fruitList, Context context) {
this.fruitList = fruitList;
this.context = context;
}
@Override
public int getCount() {
return fruitList.size();
}
@Override
public Object getItem(int position) {
return fruitList.get(position);
}
@Override
public long getItemId(int position) {
return position;
}
@Override
public View getView(int position, View convertView, ViewGroup parent) {
if (convertView == null) {
LayoutInflater inflater = LayoutInflater.from(context);
convertView = inflater.inflate(R.layout.item_fruit, parent, false);
}
TextView fruitNameTextView = convertView.findViewById(R.id.fruit_name);
fruitNameTextView.setText(fruitList.get(position));
return convertView;
}
}
// 在Activity或Fragment中使用适配器
public class MainActivity extends AppCompatActivity {
private ListView fruitListView;
private List<String> fruitList;
private FruitAdapter fruitAdapter;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
fruitListView = findViewById(R.id.fruitlist);
fruitList = new ArrayList<>();
fruitList.add("Apple");
fruitList.add("Banana");
fruitList.add("Orange");
fruitAdapter = new FruitAdapter(fruitList, this);
fruitListView.setAdapter(fruitAdapter);
}
}
```