十八.适配器的简单实用

1.适配器Adapter
适配器可以为多个不相关的API提供一个公共的接口,Android的适配器负责为选择部件提供数据源,也负责将单独的数据源色转换为显示在选择部件中的特定视图。
ArryAdapter接受3个参数
要使用的上下文(通常即使当前的acticity实例)
要使用的视图的资源ID
要实际显示的选项组或列表

2.列表ListView
Android中最经典的列表框部件叫做ListView
ListView调用setAdapter()以提供数据和子视图
然后通过添加一个侦听器,以便在选项变化时作出反应
setOnltemClickListener()


package com.example.shipeiqi;

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 MainActivityextends AppCompatActivity {

//数据源

    private String[]date={"吉林","辽宁","黑龙江","大连"};

//控件

    private ListViewlistView;

@Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

        listView=(ListView)findViewById(R.id.listView1);

        listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

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

            Toast.makeText(MainActivity.this,"你选择的城市是:"+date[position],Toast.LENGTH_SHORT).show();

}

});

//适配器

//        ArrayAdapter adapter=new ArrayAdapter(

//                this,  //上下文

//                R.layout.list_item,    //项布局

//                R.id.text1,    //数据要显示控件Id

//                date        //数据源

//        );

        ArrayAdapter adapter=new ArrayAdapter(

this,

android.R.layout.simple_expandable_list_item_1,//系统中已定义过的布局文件

                android.R.id.text1,//布局文件中的TextView id 为text1

                date

        );

//设置适配器

        listView.setAdapter(adapter);

}

}

你可能感兴趣的:(十八.适配器的简单实用)