📅  最后修改于: 2023-12-03 14:39:11.263000             🧑  作者: Mango
在Android开发中,常常需要在界面上展示一些列表数据。而ArrayAdapter是一种常见的适配器,用于将一组数据绑定到ListView等控件上。本文将为您介绍使用ArrayAdapter的示例。
为了演示ArrayAdapter的用法,我们先创建一个简单的界面,包含一个ListView控件和一个Button控件,点击Button会向ListView中添加一些数据。
在activity_main.xml布局文件中添加如下代码:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:orientation="vertical">
<Button
android:id="@+id/add_btn"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Add Data"/>
<ListView
android:id="@+id/data_list"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_weight="1"/>
</LinearLayout>
接下来在MainActivity类中获取控件并为Button添加点击事件。
public class MainActivity extends AppCompatActivity {
private Button mAddBtn;
private ListView mDataList;
private ArrayAdapter<String> mAdapter;
private List<String> mData = new ArrayList<String>();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mAddBtn = findViewById(R.id.add_btn);
mDataList = findViewById(R.id.data_list);
mAdapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, mData);
mDataList.setAdapter(mAdapter);
mAddBtn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
addData();
}
});
}
private void addData() {
for(int i=1;i<=5;i++) {
mData.add("Data "+i);
}
mAdapter.notifyDataSetChanged();
}
}
上述示例中,我们首先获取了activity_main.xml布局文件中的Button和ListView控件,并为ListView设置了一个ArrayAdapter适配器。适配器的构造函数中依次传入了当前的Activity、系统提供的简单布局文件和数据源。然后为Button添加一个点击事件,在点击时调用addData方法向数据源中添加5条数据,并通过适配器的notifyDataSetChanged方法通知ListView刷新显示。
到这里,我们就完成了ArrayAdapter的简单使用。在实际开发中,您可以根据业务需求,调整ListView的布局样式、数据源和显示方式。