Android ListView

 

Java核心代码:

package com.example.demolistview1;



import android.app.ListActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;



public class MultipleListViewActivity extends ListActivity {



    private static final String[] DATA = { "开始加班了", "哈哈哈", "不告诉你们",

            "就是不告诉你们呀!", "Hello World!", "java", "C#", "item1", "item2",

            "apple", "test" };



    @Override

    protected void onCreate(Bundle savedInstanceState) {

        // TODO Auto-generated method stub

        super.onCreate(savedInstanceState);



        ArrayAdapter<String> arrayAdapter = new ArrayAdapter<String>(this,

                android.R.layout.simple_list_item_multiple_choice, DATA);



        // 使用ListActivity中的setListAdapter

        setListAdapter(arrayAdapter);



        // 获取ListActivity中的ListView

        final ListView listView = getListView();



        // setChoiceMode方法:

        // 表名有选项,如果不设置,缺省为none,即点击后仍无反应

        listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

    }



    @Override

    protected void onListItemClick(ListView l, View v, int position, long id) {

        // TODO Auto-generated method stub

        super.onListItemClick(l, v, position, id);

        Toast.makeText(getApplicationContext(), DATA[position],

                Toast.LENGTH_SHORT).show();

    }

}

 

备注:

该示例中使用了Android系统提供的ListActivity创建ListView,与普通的Activity的不同在于 ListActivity中自带一个ListView的控件,在ListActivity中可以通过getListView()方法得到 ListActivity中的ListView,并可以通过setListAdapter()方法为ListView设置Adapter。

ArrayAdapter的构造函数的第一个参数为Context,在这里设置为this就好了。第二个参数决定了ListView的不同风 格,android.R.layout.simple_list_item_multiple_choice为多选的风格。最后一个参数决定了 ArrayAdapter使用的String数组,DATA数组。
其中,第二个参数还可以是:
android.R.layout.simple_list_item_1
android.R.layout.simple_list_item_2
android.R.layout.simple_list_item_single_choice
android.R.layout.simple_list_item_checked
通过字面意思便可以理解,读者可以自己测试一下。
另外,需要注意的是,仅仅在ArrayAdapter中设置为多选风格是不行的,运行工程会发现点击不同的选项,多选框没有反应。需要通过ListView的setChoiceMode(ListView()方法才可以实现多选的效果。

你可能感兴趣的:(Android ListView)