安卓中ListView控件是一个非常重要、有用的控件。
首先ListView需要数据源,一般我们在实际的项目中会与数据库结合起来使用。但是做一个小的测试就没有必要使用数据库中的数据了,我们使用集合类List存放数据。
集合的定义如下:
public List<String> getScore(){ List<String> list = new ArrayList<String>(); for(int i = 0;i < 30;i++){ list.add("hxy"+i); } return list; }这是一个方法,用来向集合中添加一组数据,之后我们就使用这组数据。
之后我们在xmlz文件中添加ListView控件,代码很简单:
<ListView android:id="@+id/list_view" android:layout_width="wrap_content" android:layout_height="wrap_content"> </ListView> 在java代码中向ListView填充数据,这时候我们要使用适配器Adapt,废话不多说,直接贴代码:package com.example.administrator.listview; import android.support.v7.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; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private ListView listView; private ArrayAdapter<String> adapter; protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); listView = (ListView)findViewById(R.id.list_view); // listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);//设置ListView的选中模式 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//单选 adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_single_choice,getScore()); listView.setAdapter(adapter);//将数据源绑定在listView中 listView.setOnItemClickListener(new AdapterView.OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { Toast.makeText(MainActivity.this,"==>"+adapter.getItem(position),Toast.LENGTH_SHORT).show(); } }); } public List<String> getScore(){ List<String> list = new ArrayList<String>(); for(int i = 0;i < 30;i++){ list.add("hxy"+i); } return list; } }我使用的是真机调试,屏幕截图如下:
添加了点击事件,点击的时候会通过Toast提示框显示