1. 程式人生 > >Android控制元件之ListView(初識)

Android控制元件之ListView(初識)

ListView 控制元件可使用四種不同檢視顯示專案。通過此控制元件,可將專案組成帶有或不帶有列標頭的列,並顯示伴隨的圖示和文字。

ListView有四種模式:

其作用是新增選擇按鈕框。

設定單選框

Lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);

設定普通模式

 Lv.setChoiceMode(ListView.CHOICE_MODE_NONE);

 

設定多選模式

Lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE_MODAL);

設定多選模式

Lv.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE);

後兩個多選模式,暫時還沒有了解兩者的區別。

建立資料來源程式碼Mydata檔案

package com.example.a13468.mydemo12_listview;

/**
 * 新增資料來源
 */

import java.util.ArrayList;
import java.util.List;

public class Mydata {

    public  Mydata(){

    }
    public static List<String> getDataSource(){
        List<String>list=new ArrayList<String>();
        list.add("成都");
        list.add("瀘州");
        list.add("上海");
        list.add("杭州");
        list.add("西安");
        list.add("廣州");
        list.add("北京");
        list.add("成都");
        list.add("瀘州");
        list.add("上海");
        list.add("杭州");
        list.add("西安");
        list.add("廣州");
        list.add("北京");
        list.add("成都");
        list.add("瀘州");
        list.add("上海");
        list.add("杭州");
        list.add("西安");
        list.add("廣州");
        list.add("北京");
        return list;
    }
}

MainActivity.java檔案

創鍵介面卡,和資料來源,以及使用setOnItemLongClickListener對ListView進行長按監聽

package com.example.a13468.mydemo12_listview;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

import java.util.List;

public class MainActivity extends Activity {
    private ListView Lv;
    //建立介面卡
    private ArrayAdapter<String> adapter;
    //建立資料來源
    private List<String> data=null;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        Lv=findViewById(R.id.Lv);

        //給資料來源賦值
        data=Mydata.getDataSource();
        adapter=new ArrayAdapter<String>(MainActivity.this,
                android.R.layout.simple_list_item_1,data);

        //給每一項新增單選按鈕
        Lv.setChoiceMode(ListView.CHOICE_MODE_SINGLE);
        //給每一項新增複選按鈕
       // Lv.setChoiceMode(ListView.FOCUSABLES_TOUCH_MODE);
        Lv.setAdapter(adapter);

        //對ListView長按建立監聽
        Lv.setOnItemLongClickListener(new AdapterView.OnItemLongClickListener() {
            @Override
            public boolean onItemLongClick(AdapterView<?> parent, View view, int position, long id) {

                Toast.makeText(MainActivity.this, "長按"+data.get(position)+"選項", Toast.LENGTH_SHORT).show();
                return false;
            }
        });


    }
}