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;
}
});
}
}