UI组件之ListView

首先我们要先创建一个项目,打开Android studio点击File—New—New Project创建一个名为ListViewTest的项目。

接着找到res—layout文件夹下的activity_main.xml,打开它并且在里面添加ListView控件如下:

    <ListView
        android:id="@+id/listview"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
    </ListView>

此时你如果运行项目你会发现里面什么都没有,和刚开始创建的这个项目时没多大区别,因为我们还没有往里面添加数据并且在View中实现它。

所以我们回到MainActivity这个类里面通过findViewById()这个方法找到这个控件并且实现。

我们先定义一个名为data的一维字符串数组,用来存放我们的假数据。

然后通过新建一个ArrayAdapter并根据要求配置它,再Adapte通过setAdapter给ListView,代码如下:

  private String data[] = {"aa","bb","cc","dd","aa","bb","cc","dd","aa","bb","cc","dd","aa","bb","cc","dd"};//假数据
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        ListView listView = (ListView) findViewById(R.id.listview);//在视图中找到ListView
        ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);//新建并配置ArrayAapeter
        listView.setAdapter(adapter);
    }

点击运行项目你就能看到一个简单的ListView:

现在看到了界面了但是离我们的预想还是有点差距,我们希望的是除了能看还能点击响应某些事件,因此我们再为它添加一个监听点击的方法。代码如下:

    listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
            @Override
            public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {
                switch (i){
                    case 0:
                        Toast.makeText(MainActivity.this,"你点击了"+i+"按钮",Toast.LENGTH_SHORT).show();
                        break;//当我们点击某一项就能吐司我们点了哪一项
 
                    case 1:
                        Toast.makeText(MainActivity.this,"你点击了"+i+"按钮",Toast.LENGTH_SHORT).show();
                        break;
 
                    case 2:
                        Toast.makeText(MainActivity.this,"你点击了"+i+"按钮",Toast.LENGTH_SHORT).show();
                        break;
 
                    case 3:
                        Toast.makeText(MainActivity.this,"你点击了"+i+"按钮",Toast.LENGTH_SHORT).show();
                        break;
 
                    case 4:
                        Toast.makeText(MainActivity.this,"你点击了"+i+"按钮",Toast.LENGTH_SHORT).show();
                        break;
                }
            }
        });

这里我就给了5项Item做了响应,这样一个非常简单的ListView就完成了

定制一个有图片有文字有选择框的ListView

 



原文地址:https://www.cnblogs.com/ltw222/p/14881543.html