ListView绝对可以说是android中最常用的控件之一。几乎所有的应用程序都会用到它。
ListView允许用户通过上下滑动,将listView控件外(存在但是看不到)的数据滚动到控件内。而控件内的数据则会滚动出控件,这样就能很好的实现大量数据的显示。
下面就用一个小例子来展示一下:
XML文件里的代码如下:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="###"
android:textSize="20dp"/>
<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:layout_below="@id/text">
</ListView>
</RelativeLayout>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/text"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="###"
android:textSize="20dp"/>
<ListView
android:id="@+id/listView"
android:layout_width="wrap_content"
android:layout_height="200dp"
android:layout_below="@id/text">
</ListView>
</RelativeLayout>
MainActivity里的代码:
public class MainActivity extends AppCompatActivity {
private TextView text;
private ListView listview;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView)findViewById(R.id.text);
listview = (ListView)findViewById(R.id.listView);
//创建数组List,用来存放要显示的内容
final List<String> list = new ArrayList<String>();
list.add("listView item1");
list.add("listView item2");
list.add("listView item3");
list.add("listView item4");
list.add("listView item5");
list.add("listView item6");
//将数据与适配器adapter连接 android.R.layout.simple_list_item_1是android内置的布局文件,里面只有一个TextView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,list);
//将适配器添加到listView
listview.setAdapter(adapter);
//实现listView的监听
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
text.setText("你当前选择的是:"+list.get(position).toString());
}
});
}
}
private TextView text;
private ListView listview;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
text = (TextView)findViewById(R.id.text);
listview = (ListView)findViewById(R.id.listView);
//创建数组List,用来存放要显示的内容
final List<String> list = new ArrayList<String>();
list.add("listView item1");
list.add("listView item2");
list.add("listView item3");
list.add("listView item4");
list.add("listView item5");
list.add("listView item6");
//将数据与适配器adapter连接 android.R.layout.simple_list_item_1是android内置的布局文件,里面只有一个TextView
ArrayAdapter<String> adapter = new ArrayAdapter<String>(MainActivity.this,android.R.layout.simple_list_item_1,list);
//将适配器添加到listView
listview.setAdapter(adapter);
//实现listView的监听
listview.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
text.setText("你当前选择的是:"+list.get(position).toString());
}
});
}
}
运行效果如下: