`

listView

阅读更多
android.R.layout.simple_list_item_1   一行text
就是这个样式里面有一个text


private String[] data = new String[]{"aa","bb"};
listView.setAdapter(new ArrayAdapter<String>(this,				android.R.layout.simple_list_item_1, data));
 listView.setAdapter(adapter);




android.R.layout.simple_list_item_2 --里面有两个text,一个可以当做title,一个可以当做内容

 List<HashMap<String, Object>> data1 = new ArrayList<HashMap<String,Object>>(); 
        for(int i=0;i<data.length;i++){
        	HashMap<String, Object> item = new HashMap<String, Object>();  
        	item.put("num", i);
        	item.put("value", data[i]);
        	data1.add(item);
        }
SimpleAdapter adapter = new SimpleAdapter(this, data1,android.R.layout.simple_list_item_2,  
        		               new String[]{"num","value"}, new int[]{android.R.id.text1,android.R.id.text2});
 listView.setAdapter(adapter);


android.R.layout.simple_list_item_single_choice   单选按钮
这个只是说明按钮的样式是单选的

listView.setAdapter(new ArrayAdapter<String>(this,
		android.R.layout.simple_list_item_single_choice, data));
listView.setChoiceMode(ListView.CHOICE_MODE_MULTIPLE); //单选按钮样式也可以设置为多选


android.R.layout.simple_list_item_multiple_choice   多选按钮
同上,就是样子变成了方框而已

listView.setAdapter(new ArrayAdapter<String>(this,
	android.R.layout.simple_list_item_multiple_choice, data));

 listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);//多选按钮样式也可设置单选行为


android.R.layout.simple_list_item_checked   打钩的样式


listView.setAdapter(new ArrayAdapter<String>(this,
				android.R.layout.simple_list_item_checked, data));
		listView.setChoiceMode(ListView.CHOICE_MODE_SINGLE);



--------------------------------------------------
自定义adapter,这个例子放到了附件中
public class Test2 extends ListActivity {
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        List<String> list = new ArrayList<String>();
        list.add("hello");
        list.add("world");
        list.add("1");
        list.add("2");
        list.add("3");
        list.add("4");
        /**
         * 设置ListActivity的适配器
         */
       setListAdapter(new MyAdapter(Test2.this,list));
        
    }
}
/**
 * 基于BaseAdapter的自定义Adapter
 * @author Administrator
 *
 */
class MyAdapter extends BaseAdapter{

	Context context;
	List<String> titles;
	/**
	 * LayoutInflater 是将layout.xml转化成View的类
	 */
	LayoutInflater lif;
	public MyAdapter(Context context,List<String> titles){
		this.context = context;
		this.titles = titles;
	}
	/**
	 * list总数
	 */
	public int getCount() {
		return titles.size();
	}
	/**
	 * 返回 position项
	 */
	public Object getItem(int position) {
		return null;
	}
	/**
	 * 返回itemId
	 */
	public long getItemId(int position) {
		return position;
	}
	/**
	 * View关键代码
	 */
	public View getView(int position, View convertView, ViewGroup parent) {//position代表rowid
		MyView mv;
		final int pos = position;
		/**
		 * 自定义的view就是修改这个convertView就可以了
		 */
		if(convertView == null){
			mv = new MyView();
			lif = LayoutInflater.from(context);//转化到context这个容器
			convertView = lif.inflate(R.layout.layout, null);//设置要转化的layout文件
			mv.tv = (TextView)convertView.findViewById(R.id.Title);//取得实例
			mv.btn = (Button)convertView.findViewById(R.id.Button01);//取得实例
			convertView.setTag(mv);
		}else{
			mv = (MyView)convertView.getTag();
		}
		mv.tv.setText(titles.get(position));
		mv.btn.setText(titles.get(position));
		/**
		 * 组件的事件也是在这里做
		 */
		mv.btn.setOnClickListener(new Button.OnClickListener(){

			public void onClick(View v) {
				Toast.makeText(context, "我是Title:"+titles.get(pos)+" 的button", Toast.LENGTH_LONG).show();
				
			}
			
		});
		return convertView;
	}
	/**
	 * 自定义的一个View
	 * @author Administrator
	 *
	 */
	private class MyView{
		TextView tv;
		Button btn;
	}
	
}

分享到:
评论

相关推荐

    android的listview嵌套listview,列表嵌套列表 android studio版本

    在Android开发中,ListView是一种常用的视图组件,用于展示大量数据列表。当需求涉及列表中的每个条目本身也需要展示一个子列表时,我们就会遇到ListView的嵌套问题。本教程将详细讲解如何在Android Studio环境下...

    ListView嵌套ListView全选,多选

    在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。当需要在ListView中实现更复杂的布局,比如一个ListView嵌套另一个ListView时,我们可能会遇到“全选”和“多选”的需求。这个场景常见于例如...

    Android-ListView中嵌套(ListView)控件兼容问题

    ### Android-ListView中嵌套(ListView)控件兼容问题 #### 背景与问题描述 在Android开发中,有时我们需要在`ListView`中嵌套另一个`ListView`以实现更复杂的用户界面设计。然而,在实际操作过程中可能会遇到一些...

    C# ListView使用例子ListView排列方式演示

    在C#编程中,ListView控件是一个非常常用的组件,它用于显示数据集合,并且提供了多种视图模式,如图标、小图标、详细信息等。在这个"C# ListView使用例子ListView排列方式演示"中,我们将深入探讨如何利用ListView...

    listview添加图片按钮 及按钮跟ListView双监听

    在Android开发中,ListView是一种常用的UI组件,用于展示大量数据列表。在实际应用中,我们经常需要对ListView进行自定义,比如在每个列表项中添加图片和按钮,以增加交互性和功能多样性。本文将深入探讨如何在...

    vb ListView 可编辑

    在VB(Visual Basic)编程环境中,ListView控件是一种常用且功能强大的组件,它允许开发者以列表形式展示数据。在默认情况下,ListView控件通常只支持读取操作,但通过一些扩展和自定义,我们可以实现其列数据的编辑...

    ListView的嵌套,动态设置ListView的高度

    在Android开发中,ListView是一种常见的视图组件,用于展示大量数据列表。然而,在某些复杂的界面设计中,我们可能需要在一个ListView中嵌套另一个ListView,这就涉及到"ListView嵌套"的技术。这种技术可以用来构建...

    ListView下拉更新功能

    ListView是Android平台上常见的一种列表控件,用于展示大量数据的列表形式。在移动应用开发中,为了提升用户体验,经常需要实现类似微博那样可以下拉刷新的功能。本教程将详细介绍如何在Android中实现ListView的下拉...

    listview的小demo

    ListView是Android平台上一个非常重要的控件,主要用于展示大量的数据列表,具有良好的滚动性能和可定制性。本笔记将深入探讨ListView的基本使用,帮助初学者掌握这个控件的关键知识点。 一、ListView的基本结构 ...

    WPF ListView 漂亮样式

    在Windows Presentation Foundation (WPF) 中,ListView 是一个强大的控件,用于展示数据集合,并提供了多种自定义样式和布局选项,使得用户界面更加美观和功能丰富。本教程将深入探讨如何利用WPF ListView 创建漂亮...

    C# Listview固定列宽

    在C#编程中,`ListView`控件是一个常用的组件,常用于显示数据集中的行和列,类似于电子表格。在某些场景下,我们可能需要固定`ListView`的列宽,防止用户手动调整列宽,以保持界面的一致性和美观性。标题"**C# ...

    VBA实战系列(ListView控件)

    ### VBA实战系列(ListView控件) #### 一、概述 在Excel VBA开发中,ListView控件是一种非常强大的工具,它可以用来展示大量的结构化数据,并且具备良好的可定制性和美观性。对于需要处理大量数据并希望有良好用户...

    改变ListView网格颜色

    在VB(Visual Basic)编程中,ListView控件是常见的数据展示组件,用于显示列表或表格形式的数据。在某些情况下,为了提升用户界面的美观度和可读性,开发者可能需要自定义ListView的显示效果,例如改变网格的颜色。...

    viewpage嵌套listview,效果:滑动listview删除,滑动非listview区域viewpage翻页

    标题"viewpage嵌套listview,效果:滑动listview删除,滑动非listview区域viewpage翻页"描述的就是这样一个功能:在ViewPager中嵌套了一个ListView,ListView支持滑动删除,而当滑动到ListView之外的区域时,...

    C#使用listView增删操作实例

    在C#编程中,ListView控件是一个非常常用的组件,它允许开发者在窗口或者对话框上显示数据列表。这个控件可以展示多列数据,并且支持多种操作,如增删、选择和排序。在这个实例中,我们将深入探讨如何使用C#进行...

    WPF的ListView控件自定义布局用法实例

    在WPF中,ListView控件是一个非常常用的组件,它用于展示数据集合,并提供了多种布局方式。自定义布局允许开发者根据需求灵活设计ListView显示的内容和样式。本实例将深入讲解如何在WPF中自定义ListView控件的布局。...

    ListView中添加CheckBox

    1、ListView item中加入checkbox后onListItemClick 事件无法触发。 原因:checkbox的优先级高于ListItem于是屏蔽了ListItem的单击事件。 解决方案:设置checkbox的android:focusable="false" 2、选择其中的...

    Android listview自动换行

    在Android开发中,ListView是一种非常常见的控件,用于展示大量数据列表。它的高效性和可滚动性使得它在显示数据集合时十分有用。然而,当ListView的子项(item)宽度超过屏幕宽度时,如何实现自动换行就成了一个...

    C# ListView添加行距(ListView 添加行间距)源代码

    C# ListView添加行距 源代码 ListView添加行距 一、问题 listview控件,可以实现增大行距吗?行与行太紧了,不好看呀。 有办法可以实现吗? 我不想通过加大字体的方法,因为字体大了,行距还是近呀。 我要的是增大行...

Global site tag (gtag.js) - Google Analytics