ListView
这是我的第一篇博客,今后将以写博客来用于记录自己的学习过程,如有写的不好的地方,请各位同仁多多指点,您的指点将使我更加认清自己,在此表示万分感谢!
ListView的基础用法
ListView是Android中一种很常用的控件,首先让我们来看看它的布局代码:
很简单的布局,先指定id再将宽高设置成需要的状态即可。
既然ListView是用来展现大量数据的,那么在设置完布局后,就要给他提供好数据源,这里我使用了个data数组提供数据
private String[]data={"福建","浙江","广东","广西","湖南","湖北","江苏","河南","河北"};
当然,数组中的数据无法直接提供给ListView,因此我们就需要使用到适配器Adapter来完成操作,因为提供的数据只有字符串,所以我使用了ArrayAdapter,ArrayAdapter可以通过泛型指定数据类型,然后在构造函数中将适配的数据传入,ArrayAdapter的构造函数如下图:
第一个参数传上下文,第二个参数是List子项的资源文件id自然不用多说,而后面的参数中有个textViewResourceId这是个什么东西呢?是这样的,ArrayAdapter的数据项一定需要显示在TextView中,如果第二个参数的resource中存在TextView,那么textViewResourceId则无需填入。如果第二个参数的resource中不存在TextView,那么textViewResourceId则需填入一个带TextView的id。知道ArrayAdapter的参数后,修改代码。
代码如下所示:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends AppCompatActivity {
private String[]data={"福建","浙江","广东","广西","湖南","湖北","江苏","河南","河北"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//构建ArrayAdapter适配器,传入系统自带的simple_list_item_1作为子项布局,传入data作为数据源
ArrayAdapter<String> adapter=new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,data);
ListView listView= (ListView) findViewById(R.id.list_view);
//将构造好的适配器传给listView
listView.setAdapter(adapter);
}
}
运行下程序,如图