Listview的理解①

来源:互联网 发布:在淘宝上开店收费吗 编辑:程序博客网 时间:2024/05/01 07:22

关于llistview的简单介绍:

listview即将会成为你经常用的控件,为什么呢?每一个手机的屏幕就只有那么大,而我们又看的信息是非常多的。比如看小说,看博客,看新闻。这些都是要用到

listview的。ListView允许用户通过手指上下滑动的方式将屏幕外的数据滚动到屏幕内,同时屏幕上原有的数据则会滚动出屏幕。


首先我们可以先说一个listview的简单用法

实例代码:Mainactivity部分的

public class MainActivity extends AppCompatActivity {    private String[] data={"詹姆斯","科比","艾弗森","韦德","雷阿伦","乔丹","保罗","安东尼","欧文"};    Button button1;    private  ArrayAdapter<String> adapter;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        button1= (Button) findViewById(R.id.button1);        //依次传入当前上下文、系统默认的资源,以及要适配的数据。        //android.R.layout.simple_dropdown_item_1line为系统默认的列表项,也可以自己定义         adapter=new ArrayAdapter<String>(MainActivity.this,android.R.                layout.simple_dropdown_item_1line,data);        //listView是用来显示大量数据的        ListView listView=(ListView) findViewById(R.id.list_view);        //需要调用 ListView 的 setAdapter()方法,将构建好的适配器对象传递进去        listView.setAdapter(adapter);    }}
Layout部分

RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:tools="http://schemas.android.com/tools"    android:layout_width="match_parent"    android:layout_height="match_parent"    android:paddingBottom="@dimen/activity_vertical_margin"    android:paddingLeft="@dimen/activity_horizontal_margin"    android:paddingRight="@dimen/activity_horizontal_margin"    android:paddingTop="@dimen/activity_vertical_margin"    tools:context="com.jikexueyuan.listview.MainActivity">    <ListView        android:id="@+id/list_view"        android:layout_width="match_parent"        android:layout_height="match_parent"></ListView> </RelativeLayout>

我的理解:数组中的数据是不能直接传给listview的,所以我们需要借助一个适配器。适配器有很多,例     如:BaseAdapter,ArrayAdapter。这两个是我现在用过的,上面的代码使用的就是ArrayAdapter。我们创建     好数据后,创建一个适配器,定义好适配器的泛型。我们所使用的数组是String,所以定义了String泛型。然     后通过

   adapter=newArrayAdapter<String>(MainActivity.this,android.R. layout.simple_dropdown_item_1line,data);

      listView.setAdapter(adapter);
   

将数据传到适配器中。并且调用listview的setAdapter方法将适配器里面的数据呈现到listview上。


0 0