每日日报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的开发
标签:layout,2021.4,日报,每日,list,ArrayAdapter,泛型,android,适配器 来源: https://www.cnblogs.com/leiyu1905/p/14912268.html