ArrayAdapter和SimpleAdapter适配器

适配器及适配器控件

1、ArrayAdapter
实现代码

public class Main2Activity extends AppCompatActivity {
    private ListView listAdapter;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        initView();
    }
    private void initView(){
        listAdapter = findViewById(R.id.list_adapter);
        ArrayAdapter<String> adapter = new ArrayAdapter<>(getApplicationContext(),R.layout.support_simple_spinner_dropdown_item,new String[]{"音乐","电影","足球"});

        listAdapter.setAdapter(adapter);
    }
}

其中support_simple_spinner_dropdown_item为系统自带的行布局文件,也可以自己编译一个行布局文件
这里写图片描述

2、SimpleAdapter

 private ListView listView ;
    private String [] keys = new String []{"name","role","team"};
    private int [] IDs = new int[]{R.id.name,R.id.role,R.id.team};
    private List<HashMap<String, String>> list;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main2);
        initView();
    }


    private void initView(){

        listView = (ListView)findViewById(R.id.list_adapter);
        list = new ArrayList<HashMap<String,String>>();
        HashMap<String, String> map = new HashMap<String, String>();
        map.put("name", "小罗");
        map.put("role", "足球");
        map.put("team", "巴萨罗那");
        list.add(map);
        HashMap<String, String> map2 = new HashMap<String, String>();
        map2.put("name", "乔丹");
        map2.put("role", "篮球");
        map2.put("team", "公牛");
        list.add(map2);
        SimpleAdapter adapter = new SimpleAdapter(getApplicationContext(), list, R.layout.item, keys, IDs);
        listView.setAdapter(adapter);
    }

item为自己编写的行布局:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="horizontal" >
    <TextView
    android:id="@+id/name"
    android:layout_width="130dp"
    android:layout_height="wrap_content" />
    <TextView
        android:id="@+id/role"
        android:layout_width="130dp"
        android:layout_height="wrap_content"
        />
    <TextView
        android:id="@+id/team"
        android:layout_width="130dp"
        android:layout_height="wrap_content"
        />
</LinearLayout>

这里写图片描述

猜你喜欢

转载自blog.csdn.net/source_sc/article/details/80570194
今日推荐