每日日报2021.4.7

今天完成内容:

学习andriod

3.java中的List(好像不属于泛型,管他呢,先放这)

List( []内的内容可省略),与数组类似:但是长度可变,应该是能+-50%?
实例化:List[<数据类型>] list = new ArrayList[<数据类型>]();
一些方法举例(后面会遇到)

获得集合内元素个数:list.size();
添加元素:
默认添加:list.add(e);

4.更多

泛型类,类型匹配符等,详见http://www.runoob.com/java/java-generics.html

二 android中的ArrayAdapter适配器

适配器是一个非常重要的知识点,Adapter是用来帮助填出数据的中间桥梁,简单点说吧:将各种数据以合适的形式显示在View中给用户看。Adapter有很多的接口、抽象类、子类可以使用。主要有BaseAdapter,ArrayAdapter,SimpleAdapter。

ArrayAdapter(数组适配器),这个适配器使用有一定的局限性,只能显示一行文本数据。支持泛型。

先建一个layout,只有一个ListView.

<?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/ll1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">
    </ListView>
</LinearLayout>

再看一下Activity中的代码,比较明显,新建了一个数组作为要传入的数据,新建ArrayAdapter类型的的adapter,通过构造函数,构造出合适的适配器,最后,调用listview的setAdapter方法传入适配器。

package com.example.test3;

import android.app.Activity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;

public class MainActivity extends Activity{
//    定义要显示的数据
    private String[] datas = {"张三","李四","王五","麻子","小强"};
    private ArrayAdapter<String> adapter;
    private ListView listView;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        listView = (ListView) findViewById(R.id.ll1);
//        初始化适配器
        adapter = new ArrayAdapter<>(this,android.R.layout.simple_expandable_list_item_1,datas);
        listView.setAdapter(adapter);
    }
}

泛型的支持

这次没有使用数组作为原始数据,而是使用的泛型,并将泛型的类型指定为字符串

最后,关于ArrayAdapter的构造方法传入的参数

第一个参数:context上下文对象

第二个参数:每一个item的样式,可以使用系统提供,也可以自定义就是一个TextView

第三个参数:数据源,要显示的数据

系统提供的item的样式,可以试一试

simple_list_item1:单独的一行文本框
simple_list_item2:有两个文本框组成
simple_list_item_checked每项都是由一个已选中的列表项
simple_list_item_multiple_choice:都带有一个复选框
simple_list_item_single_choice:都带有一个单选框

看视频

遇到问题:

明日目标:

学习Android studio的开发

原文地址:https://www.cnblogs.com/leiyu1905/p/14912268.html