Android控制元件之ListView(初識)
阿新 • • 發佈:2018-12-03
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; } }); } }