IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 移动开发 -> 【Android开发(1),Java进阶训练营 -> 正文阅读

[移动开发]【Android开发(1),Java进阶训练营


<?xml version="1.0" encoding="utf-8"?>

<androidx.constraintlayout.widget.ConstraintLayout 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=".moveice_view">



    <ListView

        android:id="@+id/moveiceList"

        android:layout_width="match_parent"

        android:layout_height="match_parent"

        tools:ignore="MissingConstraints">



    </ListView>

</androidx.constraintlayout.widget.ConstraintLayout>

2)配置MainActivity代码

ListView的使用是,建立一个字符型数组,其中存放要显示的每一行内容,但是listview中设置的参数是Adapter类型的,显然不能直接将string数组作为参数传入,因此我们需要用到一个ArrayAdapter类作为一个桥梁作用,来对string数组进行转换一下,

可能逻辑性有点强,不太容易理解,直接看下面的代码:


package com.example.summarizepj;



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 moveice_view extends AppCompatActivity {



    ListView moveiceList;

    String [] moveice_arr = {"肖申克的救赎","阿甘正传","明天会更好","速度与激情","建军大业","你好李焕英"};

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_moveice_view);



        moveiceList = findViewById(R.id.moveiceList);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(moveice_view.this,android.R.layout.simple_list_item_1,moveice_arr);

        moveiceList.setAdapter(adapter);



    }

} 

现在对ArrayAdapter做一下解释,

在这里我运用了系统包含的一个TextView的布局文件:android.R.layout.simple_expandable_list_item_1,调用这个比较方便,它有以下五个参数

  • android.R.layout.simple_list_item_1 一行text

  • android.R.layout.simple_list_item_2 一行title,一行text

  • android.R.layout.simple_list_item_single_choice 单选按钮

  • android.R.layout.simple_list_item_multiple_choice 多选按钮

  • android.R.layout.simple_list_item_checked ? ?checkbox

ArrayAdapter?adapter?=?new?ArrayAdapter(??MainActivity.this,?android.R.layout.simple_list_item_1,?data);??的意思是:创建一个数组适配器的代码,里面有三个参数,第一个参数是上下文,就是当前的Activity, 第二个参数是android sdk中自己内置的一个布局,它里面只有一个TextView,这个参数是表明我们数组中每一条数据的布局是这个view,就是将每一条数据都显示在这个 view上面;第三个参数就是我们要显示的数据。listView会根据这三个参数,遍历data里面的每一条数据,读出一条,显示到第二 个参数对应的布局中,这样就形成了我们看到的listView.

运行上面代码以后得到这样的效果图:

三、ListView点击响应事件

====================

但是上面的代码在点击相应的按钮时是无响应的,像我们平常在app上看到的那些点击之后都是有事件触发的,那么我们接下来就来给listview控件添加事件响应,

在这里要注意的是:为listview控件添加的事件监听与平常给button控件添加监听使用的方法不一样,在这里使用的是setOnItemClickListener方法,具体使用如下:


package com.example.summarizepj;



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 moveice_view extends AppCompatActivity {



    ListView moveiceList;

    String [] moveice_arr = {"肖申克的救赎","阿甘正传","明天会更好","速度与激情","建军大业","你好李焕英"};

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_moveice_view);



        moveiceList = findViewById(R.id.moveiceList);

        ArrayAdapter<String> adapter = new ArrayAdapter<String>(moveice_view.this,android.R.layout.simple_list_item_1,moveice_arr);

        moveiceList.setAdapter(adapter);



        moveiceList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

            @Override

            public void onItemClick(AdapterView<?> parent, View view, int position, long id) {

                String result = parent.getItemAtPosition(position).toString();

                switch (result){



## 总结

这个月马上就又要过去了,还在找工作的小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分**面试题及答案**免费分享给大家,希望能帮助到大家,有需要的朋友可以看下面的**免费领取方式**!

> [资料领取方式:狂戳这里](https://gitee.com/vip204888/java-p7)

![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/a3317115962bb5743608577585a769c9.png)

![在这里插入图片描述](https://img-blog.csdnimg.cn/img_convert/520d167c917546b30f9703444602d8f6.png)

小伙伴要做好准备了,小编整理了大厂java程序员面试涉及到的绝大部分**面试题及答案**免费分享给大家,希望能帮助到大家,有需要的朋友可以看下面的**免费领取方式**!

> [资料领取方式:狂戳这里](https://gitee.com/vip204888/java-p7)

[外链图片转存中...(img-a2mgy6Pd-1628505696692)]

[外链图片转存中...(img-Gb2qQiP7-1628505696694)]

  移动开发 最新文章
Vue3装载axios和element-ui
android adb cmd
【xcode】Xcode常用快捷键与技巧
Android开发中的线程池使用
Java 和 Android 的 Base64
Android 测试文字编码格式
微信小程序支付
安卓权限记录
知乎之自动养号
【Android Jetpack】DataStore
上一篇文章      下一篇文章      查看所有文章
加:2021-08-10 13:32:03  更:2021-08-10 13:32:40 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/18 23:09:32-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码