列表适配器的使用(以及列表相应的一些监听方法)
2011-10-09 15:29
417 查看
一:这个是主页面的代码(主要实现各个列表方法的跳转以及目录):
public class ActivityMain extends Activity {
OnClickListener listener1 = null;
OnClickListener listener2 = null;
OnClickListener listener3 = null;
OnClickListener listener4 = null;
Button button1;
Button button2;
Button button3;
Button button4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prepareListeners();
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.activity_main_button1);
button1.setOnClickListener(listener1);
button2 = (Button) findViewById(R.id.activity_main_button2);
button2.setOnClickListener(listener2);
button3 = (Button) findViewById(R.id.activity_main_button3);
button3.setOnClickListener(listener3);
button4 = (Button) findViewById(R.id.activity_main_button4);
button4.setOnClickListener(listener4);
}
private void prepareListeners(){
listener1 = new OnClickListener() {
public void onClick(View v) {
Intent intent1 = new Intent(ActivityMain.this, ActivityList1.class);
startActivity(intent1);
}
};
listener2 = new OnClickListener() {
public void onClick(View v) {
Intent intent2 = new Intent(ActivityMain.this, ActivityList2.class);
startActivity(intent2);
}
};
listener3 = new OnClickListener() {
public void onClick(View v) {
Intent intent3 = new Intent(ActivityMain.this, ActivityList3.class);
startActivity(intent3);
}
};
listener4 = new OnClickListener() {
public void onClick(View v) {
Intent intent4 = new Intent(ActivityMain.this, ActivityList4.class);
startActivity(intent4);
}
};
}
}
二.下面是列表设置以及适配器的使用
public class ActivityList1 extends Activity {
ListView listView;
private String[] data = { "a", "b
"c", "d", "e",
"f", "g","h" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView = new ListView(this);
//listView.setAdapter(new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1, data));
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice, data));
/*android.R.layout.simple_list_item_1 一行text
android.R.layout.simple_list_item_2 一行title,一行text
android.R.layout.simple_list_item_single_choice 单选按钮
android.R.layout.simple_list_item_multiple_choice 多选按钮
android.R.layout.simple_list_item_checked checkbox
*/
listView.setItemsCanFocus(true);//获取选项的焦点
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//选中模式为多重选择(可以选多个)
setContentView(listView);
}
}
三.下面是列表键值对的使用以及适配器的使用
public class ActivityList2 extends Activity {
private List<Map<String, Object>> data;
private ListView listView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PrepareData();
listView = new ListView(this);
// 利用系统的layout显示一项
// SimpleAdapter adapter = new SimpleAdapter(this, data,
// android.R.layout.simple_list_item_1, new String[] { "性别" },
//new int[] { android.R.id.text1 });
// 利用系统的layout显示两项
SimpleAdapter adapter = new SimpleAdapter(this, data,
android.R.layout.simple_list_item_2, new String[] { "姓名","性别" },
new int[] { android.R.id.text1 , android.R.id.text2});
// 利用自己的layout来进行显示两项
//SimpleAdapter adapter = new SimpleAdapter(this, data,
// R.layout.list_item, new String[] { "姓名", "性别" }, new int[] {
// R.id.mview1, R.id.mview2 });
listView.setAdapter(adapter);
setContentView(listView);
OnItemClickListener listener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
setTitle(parent.getItemAtPosition(position).toString());
}
};
listView.setOnItemClickListener(listener);
}
private void PrepareData() {
data = new ArrayList<Map<String, Object>>();
Map<String, Object> item;
item = new HashMap<String, Object>();
item.put("姓名", "张三小朋友");
item.put("性别", "男");
data.add(item);
item = new HashMap<String, Object>();
item.put("姓名", "王五同学");
item.put("性别", "男");
data.add(item);
item = new HashMap<String, Object>();
item.put("姓名", "小李师傅");
item.put("性别", "女");
data.add(item);
}
}
四.下面是继承ListActivity的列表使用方法
public class ActivityList3 extends ListActivity {
private String[] data ={"a", "b",
"c", "d", "e",
"f", "g","h"
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list3);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data));
}
protected void onListItemClick(ListView listView, View v, int position, long id) {
super.onListItemClick(listView, v, position, id);
setTitle(listView.getItemAtPosition(position).toString());
}
}
以为XML文件代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<TextView android:id="@id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="对不起,没有数据显示"/>
</LinearLayout>
五.下面是滑动列表监听功能
public class ActivityList4 extends Activity {
ListView listView;
private String[] data = { "a", "b", "c",
"d", "e", "f" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data));
setContentView(listView);
OnItemSelectedListener itemSelectedListener = new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View arg1,
int position, long arg3) {
setTitle("您选中的是: "+parent.getItemAtPosition(position).toString());
}
public void onNothingSelected(AdapterView<?> arg0) {
setTitle("");
}
};
listView.setOnItemSelectedListener(itemSelectedListener);
}
}
大家可以自己写出自己内定的适配器,这样使用会很方便,也不用每次在代码中声明调用,也可以节约大量的时间以及代码的维护效果!
public class ActivityMain extends Activity {
OnClickListener listener1 = null;
OnClickListener listener2 = null;
OnClickListener listener3 = null;
OnClickListener listener4 = null;
Button button1;
Button button2;
Button button3;
Button button4;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
prepareListeners();
setContentView(R.layout.main);
button1 = (Button) findViewById(R.id.activity_main_button1);
button1.setOnClickListener(listener1);
button2 = (Button) findViewById(R.id.activity_main_button2);
button2.setOnClickListener(listener2);
button3 = (Button) findViewById(R.id.activity_main_button3);
button3.setOnClickListener(listener3);
button4 = (Button) findViewById(R.id.activity_main_button4);
button4.setOnClickListener(listener4);
}
private void prepareListeners(){
listener1 = new OnClickListener() {
public void onClick(View v) {
Intent intent1 = new Intent(ActivityMain.this, ActivityList1.class);
startActivity(intent1);
}
};
listener2 = new OnClickListener() {
public void onClick(View v) {
Intent intent2 = new Intent(ActivityMain.this, ActivityList2.class);
startActivity(intent2);
}
};
listener3 = new OnClickListener() {
public void onClick(View v) {
Intent intent3 = new Intent(ActivityMain.this, ActivityList3.class);
startActivity(intent3);
}
};
listener4 = new OnClickListener() {
public void onClick(View v) {
Intent intent4 = new Intent(ActivityMain.this, ActivityList4.class);
startActivity(intent4);
}
};
}
}
二.下面是列表设置以及适配器的使用
public class ActivityList1 extends Activity {
ListView listView;
private String[] data = { "a", "b
"c", "d", "e",
"f", "g","h" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView = new ListView(this);
//listView.setAdapter(new ArrayAdapter<String>(this,
// android.R.layout.simple_list_item_1, data));
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_single_choice, data));
/*android.R.layout.simple_list_item_1 一行text
android.R.layout.simple_list_item_2 一行title,一行text
android.R.layout.simple_list_item_single_choice 单选按钮
android.R.layout.simple_list_item_multiple_choice 多选按钮
android.R.layout.simple_list_item_checked checkbox
*/
listView.setItemsCanFocus(true);//获取选项的焦点
listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//选中模式为多重选择(可以选多个)
setContentView(listView);
}
}
三.下面是列表键值对的使用以及适配器的使用
public class ActivityList2 extends Activity {
private List<Map<String, Object>> data;
private ListView listView = null;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
PrepareData();
listView = new ListView(this);
// 利用系统的layout显示一项
// SimpleAdapter adapter = new SimpleAdapter(this, data,
// android.R.layout.simple_list_item_1, new String[] { "性别" },
//new int[] { android.R.id.text1 });
// 利用系统的layout显示两项
SimpleAdapter adapter = new SimpleAdapter(this, data,
android.R.layout.simple_list_item_2, new String[] { "姓名","性别" },
new int[] { android.R.id.text1 , android.R.id.text2});
// 利用自己的layout来进行显示两项
//SimpleAdapter adapter = new SimpleAdapter(this, data,
// R.layout.list_item, new String[] { "姓名", "性别" }, new int[] {
// R.id.mview1, R.id.mview2 });
listView.setAdapter(adapter);
setContentView(listView);
OnItemClickListener listener = new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view, int position,
long id) {
setTitle(parent.getItemAtPosition(position).toString());
}
};
listView.setOnItemClickListener(listener);
}
private void PrepareData() {
data = new ArrayList<Map<String, Object>>();
Map<String, Object> item;
item = new HashMap<String, Object>();
item.put("姓名", "张三小朋友");
item.put("性别", "男");
data.add(item);
item = new HashMap<String, Object>();
item.put("姓名", "王五同学");
item.put("性别", "男");
data.add(item);
item = new HashMap<String, Object>();
item.put("姓名", "小李师傅");
item.put("性别", "女");
data.add(item);
}
}
四.下面是继承ListActivity的列表使用方法
public class ActivityList3 extends ListActivity {
private String[] data ={"a", "b",
"c", "d", "e",
"f", "g","h"
};
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.list3);
setListAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data));
}
protected void onListItemClick(ListView listView, View v, int position, long id) {
super.onListItemClick(listView, v, position, id);
setTitle(listView.getItemAtPosition(position).toString());
}
}
以为XML文件代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content">
<ListView android:id="@id/android:list"
android:layout_width="fill_parent"
android:layout_height="fill_parent"/>
<TextView android:id="@id/android:empty"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="对不起,没有数据显示"/>
</LinearLayout>
五.下面是滑动列表监听功能
public class ActivityList4 extends Activity {
ListView listView;
private String[] data = { "a", "b", "c",
"d", "e", "f" };
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
listView = new ListView(this);
listView.setAdapter(new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, data));
setContentView(listView);
OnItemSelectedListener itemSelectedListener = new OnItemSelectedListener(){
public void onItemSelected(AdapterView<?> parent, View arg1,
int position, long arg3) {
setTitle("您选中的是: "+parent.getItemAtPosition(position).toString());
}
public void onNothingSelected(AdapterView<?> arg0) {
setTitle("");
}
};
listView.setOnItemSelectedListener(itemSelectedListener);
}
}
大家可以自己写出自己内定的适配器,这样使用会很方便,也不用每次在代码中声明调用,也可以节约大量的时间以及代码的维护效果!
相关文章推荐
- 生产环境使用elasticsearch遇到的一些问题以及解决方法
- ListView的适配器使用方法以及优化类
- 关于ios的autoLayout的一些简单介绍以及使用方法
- 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法
- 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法
- Fragment嵌套使用存在的一些BUG以及解决方法
- 浅谈Android Fragment嵌套使用存在的一些BUG以及解决方法
- 使用elasticsearch遇到的一些问题以及解决方法
- Vista的一些问题以及相应的解决方法
- python的列表,元组以及字典的一些内置方法与属性
- Android学习笔记---19_采用ListView实现数据列表显示,以及各种适配器使用,和如何写自己的适配器
- android中handler的一些总结以及使用(二)之handle使用时用到的几个主要方法介绍
- Fragment嵌套使用存在的一些BUG以及解决方法
- Android:Android Fragment嵌套使用存在的一些BUG以及解决方法
- mac使用mysql出现的一些问题以及解决方法
- 使用elasticsearch遇到的一些问题以及解决方法
- 使用elasticsearch遇到的一些问题以及解决方法
- 提高VS使用逼格的快捷键以及一些错误的处理方法
- shell中使用curl时,数据为乱码的解决方法,以及一些参数的解释
- listview的相关使用方法以及适配器的加载(一)