一、简介
手机屏幕空间有限,能显示的内容不多。可以借助ListView来显示更多的内容。
ListView允许用户通过上下滑动来将屏幕外的数据滚动到屏幕内,同时屏幕内原有的数据滚动出屏幕,从而显示更多的数据内容。
二、实现步骤
1、创建一个新的项目,项目名称可自定义
2、先在values资源文件夹下新建一个arraies.xml数组文件。
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string-array name="arraies">
<item>TextView详解</item>
<item>Button详解</item>
<item>ListView详解</item>
<item>EditText详解</item>
<item>TextView详解</item>
<item>TextView详解</item>
</string-array>
</resources>
3、编写布局文件activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
tools:context=".MainActivity">
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@array/arraies"/>
</LinearLayout>
4、运行结果
三、拓展——给每一项添加点击实现
1、修改布局文件activity_main.xml,给ListView控件添加ID
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout 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"
tools:context=".MainActivity">
<ListView
android:id="@+id/id_main_lv"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:entries="@array/arraies"/>
</LinearLayout>
2、更改Java功能文件MainActivity.java
package com.example.test;
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;
import android.widget.Toast;
public class MainActivity extends AppCompatActivity {
private ListView id_main_lv; //声明创建了一个ListView的控件
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView(); //调用初始化视图的方法,Alt+enter可以直接创建
}
private void initView() {
id_main_lv = findViewById(R.id.id_main_lv); //找到布局所对应的控件,未对应会闪退报错
id_main_lv.setOnItemClickListener(new AdapterView.OnItemClickListener() { //设置每个选项的点击时间
@Override
public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
//设置一些Toast的提醒信息和跳转事件
// switch (i){
// case 0:
// startActivity(new Intent(MainActivity.this,TextviewActivity.class));
// break;
// }
Toast.makeText(MainActivity.this, "这是第"+i+"个选项", Toast.LENGTH_SHORT).show();
}
}); //
}
}