在很多的程序中,很多少不了listview这个控件的身影,而这里我就来给初学者们普及下关于listview的基本用法以及其适配器的使用。
首先,先创建一个application项目,这个相信大家已经知道怎么做了,然后在主界面的xml中去添加listview控件,比如这样:
<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"
tools:context="com.demotest.android.MainActivity" >
<ListView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/listview"
>
</ListView>
</RelativeLayout>
在这里面记得给listview加上ID,方便我们在源码中的使用。
然后就是主界面的类,在笔者这里是MainActivity.class,对listview进行声明,比如这样:
<pre name="code" class="java">package com.demotest.android;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends ActionBarActivity {
private ListView ListView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ListView = (ListView) findViewById(R.id.listview);
}
}
<span style="white-space:pre"> </span>然后,重点来了,比如我们要在listview中加载一些文字,那我们可以先定义一个字符串数组,就像这样:
public class MainActivity extends ActionBarActivity {
<span style="white-space:pre"> </span>private ListView ListView;
<span style="white-space:pre"> </span>private String[] content;
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>protected void onCreate(Bundle savedInstanceState) {
<span style="white-space:pre"> </span>super.onCreate(savedInstanceState);
<span style="white-space:pre"> </span>setContentView(R.layout.activity_main);
<span style="white-space:pre"> </span>ListView = (ListView) findViewById(R.id.listview);
<span style="white-space:pre"> </span>content = new String[]{"hello world","hey eclipse","my name is hasser1","duang"};
<span style="white-space:pre"> </span>}
}
<span style="white-space:pre"> </span>然后就是最重要的适配器出场了,在这里由于只是配置相关的字符串,所以我们选择了ArrayAdapter<String>适配器,对java熟悉的童鞋应该很眼熟。所以接下来就是对适配器进行声明,并且,在最后listview对适配进行加载即可。like that:
package com.demotest.android;
import android.support.v7.app.ActionBarActivity;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.ArrayAdapter;
import android.widget.ListView;
public class MainActivity extends ActionBarActivity {
<span style="white-space:pre"> </span>private ListView ListView;
<span style="white-space:pre"> </span>private String[] content;
<span style="white-space:pre"> </span>private ArrayAdapter<String> adapter;
<span style="white-space:pre"> </span>@Override
<span style="white-space:pre"> </span>protected void onCreate(Bundle savedInstanceState) {
<span style="white-space:pre"> </span>super.onCreate(savedInstanceState);
<span style="white-space:pre"> </span>setContentView(R.layout.activity_main);
<span style="white-space:pre"> </span>//对listview进行声明
<span style="white-space:pre"> </span>ListView = (ListView) findViewById(R.id.listview);
<span style="white-space:pre"> </span>//对adapter进行声明
<span style="white-space:pre"> </span>adapter = new ArrayAdapter<String>(MainActivity.this, android.R.layout.simple_expandable_list_item_1,content);
<span style="white-space:pre"> </span>//对数组进行声明
<span style="white-space:pre"> </span>content = new String[]{"hello world","hey eclipse","my name is hasser1","duang"};
<span style="white-space:pre"> </span>//listview直接加载适配器
<span style="white-space:pre"> </span>ListView.setAdapter(adapter);
<span style="white-space:pre"> </span>}
}
最后成型的结果如图:
<img src="https://img-blog.youkuaiyun.com/20150414005149674?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvaGFzc2VyMQ==/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />