`

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  

相关推荐

    android studio 模板汇集

    3. **Fragment模板**:用于创建可复用的UI模块,如“Basic Fragment”,它们可以帮助实现多屏应用或者响应式设计。 4. **布局模板**:如“ConstraintLayout”、“LinearLayout”等,这些模板会自动生成对应的XML...

    Android的标准图标模板

    "Android的标准图标模板"是开发者为了创建符合Android平台设计规范的图标所必需的资源。这个压缩包包含了必要的文件,如`Launcher-icon-template.psd`和`icon_templates-v1.0`,旨在帮助开发者制作出专业且一致的...

    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多渠道...

    Android面试简历满分模板

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

    android listview的多列模版实例代码

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

    AndroidStudioTemplate, 简单的Android Studio 模板.zip

    AndroidStudioTemplate, 简单的Android Studio 模板 Android Studio 模板一个用于Android开发的Android Studio 模板的。要使用这些模板,你需要 Android Studio 。将适当的文件夹复制到 &lt;androidStudio-folder&gt;

    AndroidStudio代码模板.zip

    应大家的强烈要求我把《AndroidStudio 模板 Template 生成代码 - 代码模板好,下班回家早》文章创建的代码模板文件上传了,如果大家喜欢可以下载导入到自己的C:\Program Files\Android\Android Studio\plugins\...

    原创android 产品设计模板

    axure android 产品设计模板, android visio

    android设计visio模板库

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

    RadioButton实现多行多列单选

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

    android 根据模板生成word

    在Android平台上,根据模板生成Word文档是一项常见的任务,特别是在需要自定义报告或自动化文档生成的场景下。Apache POI是一个广泛使用的Java库,它允许开发者处理Microsoft Office格式的文件,包括Word(.doc和....

    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程序员...

    安卓专用模板

    QQ专用模板 Android专用模板.ec

    android studio内置的各中模版页面

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

Global site tag (gtag.js) - Google Analytics