`

android lisetview的多列模版

 
阅读更多
在listview中,可以做出多列模版的效果,关键还是在listview的模版本,比如如下:
<LinearLayout 
	android:id="@+id/relativeLayout1" 
	android:layout_height="fill_parent" 
	android:layout_width="fill_parent"
	xmlns:android="http://schemas.android.com/apk/res/android">

    <TextView
        android:id="@+id/FirstText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="First"
        android:layout_weight="1">
    </TextView>
    
    <TextView
        android:id="@+id/SecondText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Second"
        android:layout_weight="2">
    </TextView>
    
    <TextView
        android:id="@+id/ThirdText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Third"
        android:layout_weight="1">
    </TextView>
    
    <TextView
        android:id="@+id/FourthText"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:text="Fourth"
        android:layout_weight="1">
    </TextView>
</LinearLayout>



listviewadapter.java:
public class listviewAdapter extends BaseAdapter
{
	public ArrayList<HashMap<String,String>> list;
	Activity activity;
	
	public listviewAdapter(Activity activity, ArrayList<HashMap<String,String>> list) {
		super();
		this.activity = activity;
		this.list = list;
	}

	
	public int getCount() {
		// TODO Auto-generated method stub
		return list.size();
	}

	
	public Object getItem(int position) {
		// TODO Auto-generated method stub
		return list.get(position);
	}


	public long getItemId(int position) {
		// TODO Auto-generated method stub
		return 0;
	}

	private class ViewHolder {
	       TextView txtFirst;
	       TextView txtSecond;
	       TextView txtThird;
	       TextView txtFourth;
	  }

	  

	public View getView(int position, View convertView, ViewGroup parent) {
		// TODO Auto-generated method stub
		
		// TODO Auto-generated method stub
				ViewHolder holder;
				LayoutInflater inflater =  activity.getLayoutInflater();

				if (convertView == null)
				{
					convertView = inflater.inflate(R.layout.listview_row, null);
					holder = new ViewHolder();
					holder.txtFirst = (TextView) convertView.findViewById(R.id.FirstText);
					holder.txtSecond = (TextView) convertView.findViewById(R.id.SecondText);
					holder.txtThird = (TextView) convertView.findViewById(R.id.ThirdText);
					holder.txtFourth = (TextView) convertView.findViewById(R.id.FourthText);
					convertView.setTag(holder);
				}
				else
				{
					holder = (ViewHolder) convertView.getTag();
				}

				HashMap<String, String> map = list.get(position);
				holder.txtFirst.setText(map.get(FIRST_COLUMN));
				holder.txtSecond.setText(map.get(SECOND_COLUMN));
				holder.txtThird.setText(map.get(THIRD_COLUMN));
				holder.txtFourth.setText(map.get(FOURTH_COLUMN));

			return convertView;
	}


主程序:
 
public class MultiColumnActivity extends Activity 
{
	private ArrayList<HashMap<String,String>> list;
	
    public void onCreate(Bundle savedInstanceState) 
    {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);

        ListView lview = (ListView) findViewById(R.id.listview);
        populateList();
        listviewAdapter adapter = new listviewAdapter(this, list);
        lview.setAdapter(adapter);
    }    

    private void populateList() {
		
    	list = new ArrayList<HashMap<String,String>>();
    	
		HashMap<String,String> temp = new HashMap<String,String>();
			temp.put(FIRST_COLUMN,"Colored Notebooks");
			temp.put(SECOND_COLUMN, "By NavNeet");
			temp.put(THIRD_COLUMN, "Rs. 200");
			temp.put(FOURTH_COLUMN, "Per Unit");
		list.add(temp);
		
		HashMap<String,String> temp1 = new HashMap<String,String>();
			temp1.put(FIRST_COLUMN,"Diaries");
			temp1.put(SECOND_COLUMN, "By Amee Products");
			temp1.put(THIRD_COLUMN, "Rs. 400");
			temp1.put(FOURTH_COLUMN, "Per Unit");
		list.add(temp1);
		
		HashMap<String,String> temp2 = new HashMap<String,String>();
			temp2.put(FIRST_COLUMN,"Note Books and Stationery");
			temp2.put(SECOND_COLUMN, "By National Products");
			temp2.put(THIRD_COLUMN, "Rs. 600");
			temp2.put(FOURTH_COLUMN, "Per Unit");
		list.add(temp2);
		
		HashMap<String,String> temp3 = new HashMap<String,String>();
			temp3.put(FIRST_COLUMN,"Corporate Diaries");
			temp3.put(SECOND_COLUMN, "By Devarsh Prakashan");
			temp3.put(THIRD_COLUMN, "Rs. 800");
			temp3.put(FOURTH_COLUMN, "Per Unit");
		list.add(temp3);
		
		HashMap<String,String> temp4 = new HashMap<String,String>();
			temp4.put(FIRST_COLUMN,"Writing Pad");
			temp4.put(SECOND_COLUMN, "By TechnoTalaktive Pvt. Ltd.");
			temp4.put(THIRD_COLUMN, "Rs. 100");
			temp4.put(FOURTH_COLUMN, "Per Unit");
		list.add(temp4);
	}
}
分享到:
评论
2 楼 Caidifel 2015-08-28  
这个是数据的多列,我想要的是控件的多列,
1 楼 zhs077 2012-07-08  

相关推荐

    godot android 模板 v4.2.1

    godot android 模板 v4.2.1godot android 模板 v4.2.1godot android 模板 v4.2.1godot android 模板 v4.2.1godot android 模板 v4.2.1godot android 模板 v4.2.1godot android 模板 v4.2.1godot android 模板 v4.2.1...

    Android各种原生UI模板 HoloEverywhere

    "HoloEverywhere"是一个著名的开源项目,旨在为Android应用提供与原生Holo主题一致的UI模板,即使在Android 2.1及以上的版本也能实现这种统一的界面风格。这个项目在Android开发者社区中广受欢迎,因为它使得开发者...

    基于Android的快速开发模板.zip

    基于Android的快速开发模板 内容概要 本项目是一个Android空壳模板工程,旨在帮助开发者快速搭建Android应用框架。项目集成了XUI、XUtil、XAOP、XPage、XUpdate、XHttp2等实用库,并整合了友盟统计和walle多渠道...

    PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web前端程序员简历模板 Java程序员简历等等

    Android程序员简历模板 Web前端程序员简历模板 Java程序员简历模板 C/C++程序员简历模板 NodeJS程序员简历模板 架构师简历模板 通用程序员简历模板PHP程序员简历模板 iOS程序员简历模板 Android程序员简历模板 Web...

    Android面试简历满分模板

    这是一份Android简历模板 里面详细介绍了 基础资料、求职意向、Android技能、Android项目经验、自我评价等。仅供面试者参考,我深知一份好的简历能让HR留下深刻印象,当然这个文档只能帮面试者解决简历问题,自我...

    android listview的多列模版实例代码

    本篇将详细讲解如何实现Android ListView的多列模板实例代码。 首先,创建多列模板的关键在于ListView的布局设计。在给出的示例代码中,使用了LinearLayout作为ListView的item布局,通过`android:layout_weight`...

    原创android 产品设计模板

    axure android 产品设计模板, android visio

    android设计visio模板库

    "Android设计Visio模板库"是一个专门针对Android UI设计的工具集,它能够帮助设计师高效地创建Android应用的原型。这个资源包含了多种预定义的Android组件和布局,使得在Microsoft Visio中绘制界面草图变得快速且...

    RadioButton实现多行多列单选

    在本场景中,我们讨论的主题是如何利用`RadioButton`在布局中实现多行多列的单选效果。这个功能在创建例如设置界面、问卷调查或者选项列表时非常常见。 `RadioButton`属于`RadioGroup`的一部分,`RadioGroup`是一个...

    android开发模板

    "Android开发模板"就是为了提高开发效率而设计的一种工具,它集合了开发者在多次项目中反复使用的代码片段、布局设计、功能模块等,使得在新项目中可以快速引入并进行个性化定制,避免重复劳动。以下是基于这个主题...

    android整改报告模板

    上架应用市场时,可能存在需要整改的可能,如果收到整改通知,就要进行一系列的整改自测,然后再次提测,上应用市场

    常用程序员简历模板.zip Java php android ios 程序员简历模板

    Android简历模板需重点展示对Android SDK、Android Studio的使用经验,以及对Android应用程序架构的理解。列出已开发的Android应用,介绍其功能、用户量和在Google Play上的表现。提及UI设计、性能优化和兼容性测试...

    Android个人简历模板

    4. **技能清单**:列出掌握的编程语言(如Java、Kotlin)、框架(如Android SDK、Jetpack)、工具(如Android Studio、Git)及其他技术能力,如多线程、网络编程、数据库管理等。 5. **项目经验**:详细描述参与过...

    Android程序员简历模板.rar

    "Android程序员简历模板.rar"提供了两种格式的模板——Android程序员简历模板.docx和Android程序员简历模板.pdf,帮助求职者更好地构建自己的专业形象。 首先,我们要明白简历的基本构成。一份优秀的Android程序员...

    android studio内置的各中模版页面

    10. **Legacy Single-Pane Activity** 和 **Legacy Multi-Pane Activity**:适用于Android早期版本的兼容性模板,分别用于单视图和多视图布局。 以上模板都是Android Studio为了提高开发效率而设计的,每个模板都...

    程序员简历模板,包括IOS,Android等

    您可以在简历中列出您掌握的Android技能、您熟悉的开发工具、您以前的Android项目工作经验等内容。 Web前端程序员简历模板: 该模板适用于Web前端开发者,主要关注HTML、CSS、JavaScript等前端技术的使用经验。 ...

    Android Studio 模板 MyActivity

    一个清爽的Activity模板,直接放入Android Studio 安装目录\Android Studio\plugins\android\lib\templates\activities 重启即可用

    Android 使用模板生成Word文档,支持手机直接查看word

    本文将详细介绍如何在Android环境中利用模板生成Word文档,并确保这些文档能在手机上直接查看。 首先,我们需要引入一个第三方库,如Apache POI,它是一个Java API,用于处理Microsoft Office格式的文件,包括Word...

    Android程序员简历模板.zip

    【Android程序员简历模板】 在求职过程中,一份精心制作的简历是展示个人技能和经验的关键。对于Android程序员来说,简历应该突出展示对Android平台的理解、编程技能、项目经验和解决问题的能力。以下是一些创建...

    java、Android生成word文档,动态添加数据

    在Java和Android开发中,生成Word文档是一项常见的需求,尤其在报表、合同或者报告生成时。...这个过程涉及到文件操作、模板设计、数据绑定、异常处理等多个技术环节,需要开发者具备一定的Java和Android开发经验。

Global site tag (gtag.js) - Google Analytics