实现一个简单的 Android ListView
时间: 2024-01-25 10:01:55 浏览: 82
1. 首先在 layout 目录下新建一个布局文件,例如 list_item_layout.xml,用来定义 ListView 中每个 item 的样式。
2. 在 activity 中声明一个 ListView 对象,例如:
```java
ListView listView = findViewById(R.id.list_view);
```
3. 创建一个 ArrayList,用于存储 ListView 中的数据,例如:
```java
ArrayList<String> dataList = new ArrayList<>();
dataList.add("Item 1");
dataList.add("Item 2");
dataList.add("Item 3");
```
4. 创建一个 ArrayAdapter 对象,用于将数据与 ListView 关联起来,例如:
```java
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, android.R.layout.simple_list_item_1, dataList);
```
其中,第一个参数是上下文 Context,第二个参数是 ListView item 的布局文件,第三个参数是数据源。
5. 将 ArrayAdapter 对象设置给 ListView,即:
```java
listView.setAdapter(adapter);
```
6. 完整代码示例:
activity_main.xml:
```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"
android:orientation="vertical"
>
<ListView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
</LinearLayout>
```
list_item_layout.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<TextView
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp"
/>
```
MainActivity.java:
```java
public class MainActivity extends AppCompatActivity {
private ListView listView;
private ArrayList<String> dataList;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
listView = findViewById(R.id.list_view);
dataList = new ArrayList<>();
dataList.add("Item 1");
dataList.add("Item 2");
dataList.add("Item 3");
ArrayAdapter<String> adapter = new ArrayAdapter<>(this, R.layout.list_item_layout, dataList);
listView.setAdapter(adapter);
}
}
```
阅读全文