ArrayAdapter —> 一个安卓自带的适配器
适配器的作用:可以将数据以一种合适的方式展示在屏幕上,例如QQ好友的列表形式,如果每添加一个好友就去通过java代码添加组件的方式展示,会让程序变得复杂。用适配器可以将列表这种子元素(每一个好友)都是相同展示方式的情况简化。
ArrayAdapter 是自带的一种很简单的适配器
一般来说适配器的使用分为三步
-
准备出来数据
-
准备适配器(Adapter)并且将数据传过去
-
获取Activity的布局组件并且将适配器添加上去
package net.onest.arrayadapterch0203;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//ListView使用步骤:
//1.准备数据源
String[] names = {"Android基础开发","Android高级编程","Android综合应用"};
//2.准备item的布局文件(SDK自带的布局文件)
//3.选择一种Adapter,绑定Adapter
ArrayAdapter<String> myAdapter = new ArrayAdapter<String>(this,//环境上下文
android.R.layout.simple_list_item_1,//item的布局文件
names);//数据源
ListView nameListView = findViewById(R.id.lv_names);
nameListView.setAdapter(myAdapter);
//4.给ListView设置item点击事件的监听器
nameListView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
//parent是ListView对象
//view是点击的item的视图对象
//position是点击的item的位置,从0开始
Log.e("点击ListView中position",position + "条");
Log.e("点击ListView中id",id + "条");
view.setBackgroundColor(getResources().getColor(android.R.color.holo_red_dark));
}
});
}
}
<?xml version="1.0" encoding="utf-8"?>
<ListView
android:id="@+id/lv_names"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:android="http://schemas.android.com/apk/res/android" />
<!-- 注意是ListView -->