首先我们要先创建一个项目,打开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就完成了