Android ListView与实例
什么是Android中的ListView
ListView是一种widget,用于以列表的形式显示相同类别的项目集合。我们可以在许多Android应用程序中看到ListView,它显示相同类别的数据。
在Android中实现ListView
我们将创建一个简单的应用程序,其中我们将显示一个ListView。在这个ListView中,我们将显示不同的编程语言,并在ListView中为我们的项目添加点击监听器。在点击ListView中的项目时,我们将向用户显示一个带有项目名称的祝酒词。我们将按照一步一步的指南来实现Android中两个数字的相加。
第1步:在Android Studio中创建一个新项目
导航到Android studio,如下图所示。在下面的屏幕上点击新建项目来创建一个新的Android Studio项目。
点击新项目后,你会看到下面的屏幕。
在这个屏幕中,我们必须简单地选择空活动并点击下一步。点击下一步后,你会看到下面的屏幕。
在这个屏幕上,我们必须简单地指定项目名称。然后包的名称将被自动生成。
注意 - 请确保选择语言为Java。
在指定了所有的细节后,点击完成,创建一个新的Android studio项目。
一旦我们的项目被创建,我们将看到两个文件被打开,即 activity_main.xml 和 MainActivity.java 文件。
第3步:使用 activity_main.xml 文件
导航到 activity_main.xml。如果这个文件不可见。要打开这个文件。在左边的窗格中导航到app>res>layout>activity_main.xml来打开这个文件。打开这个文件后。将下面的代码添加到其中。在代码中添加注释,以便详细了解。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<!-- on below line creating a list view -->
<ListView
android:id="@+id/idLVLanguages"
android:layout_width="match_parent"
android:layout_height="match_parent" />
</RelativeLayout>
解释 – 在上面的代码中,我们正在创建一个相对布局作为根布局,在里面我们正在创建我们的ListView部件来显示编程语言的列表。对于ListView部件,我们指定高度和宽度为 match_parent。并给它添加一个唯一的ID,我们将用它来设置ListView中的数据。
第4步:使用MainActivity.java文件
导航到MainActivity.java。如果该文件不可见。要打开这个文件。在左边的窗格中导航到app>res>layout>MainActivity.java来打开这个文件。打开这个文件后。将下面的代码添加到其中。在代码中添加注释,以便详细了解。
package com.example.androidjavaapp;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
// on below line creating a variables for list view.
private ListView languagesLV;
// on below line creating a string array for different programming languages
String[] programmingLanguages = {"Java", "JavaScript", "C", "C++", "C#", "Python", "Kotlin", "Dart"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// on below line initializing variables.
languagesLV = findViewById(R.id.idLVLanguages);
// on below line creating and initializing adapter.
// inside adapter passing layout as simple list item
// and our programming languages list
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, programmingLanguages);
// on below line adding on item click listner for our list view.
languagesLV.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
// on below line displaying toast message when list view item is clicked.
Toast.makeText(MainActivity.this, programmingLanguages[position], Toast.LENGTH_SHORT).show();
}
});
// on below line setting adapter to our list view.
languagesLV.setAdapter(adapter);
}
}
解释 – 在上面的代码中,首先我们要为listview创建变量。同时,我们正在为我们的编程语言创建一个字符串数组,并添加我们必须在ListView中显示的编程语言的名称。在onCreate方法中,我们正在用我们在activity_main.xml文件中给出的id初始化listview变量。之后我们创建并初始化我们的适配器类,在这个类中我们传递我们的编程语言数组并为listview项目设置布局为simple_list_item_1。之后,我们为我们的ListView添加一个项目点击监听器,为ListView的每个项目添加点击动作。在这个方法中,我们将显示一个祝酒词,并通过传递一个被点击的项目的位置来指定该信息为编程语言列表中的项目。之后,我们将适配器设置为我们的ListView,以便在我们的ListView中显示来自数组的数据。
添加完上述代码后,现在我们只需点击顶部栏的绿色图标就可以在移动设备上运行我们的应用程序。
注意 - 确保你已经连接到你的真实设备或模拟器上。
总结
在上面的教程中,我们学习了什么是ListView,以及我们如何使用ListView来显示里面的数组数据。除此之外,我们还学习了为ListView的项目添加点击监听器。