当前位置: 代码迷 >> Android >> Android Listview报表
  详细解决方案

Android Listview报表

热度:98   发布时间:2016-05-01 16:27:53.0
Android Listview表格

<!--StartFragment -->

?在平常应用中,我们会经常用到表格,但在Adnroid中,它并没有给我们提供表格控件,所以要我们自己动手去做。我把我自己做的一样表格样式在这与大学分享,如果你想要得到更加完美的表格,那就要你自己去改过了。样式如下:
?<!--StartFragment -->
首先我们先看XML文件:
我先定义一个样表模板,让后在Java代码中调用这个模板,向模板里添加数据就可以了
<?xml version="1.0" encoding="utf-8"?><LinearLayout	xmlns:android="http://schemas.android.com/apk/res/android"	android:layout_width="fill_parent"	android:layout_height="fill_parent" 	android:scrollbarAlwaysDrawHorizontalTrack="true"	>	<TableLayout android:id="@+id/table"	android:layout_width="wrap_content"	android:layout_height="wrap_content" >	<TableRow>		<View android:layout_width="1dip" android:background="#FF909090" />		<TextView			android:id="@+id/tv1"			android:layout_width="85dip"			android:gravity="center" 			android:textSize="15px" />		<View android:layout_width="1dip" android:background="#FF909090" />		<TextView			android:id="@+id/tv2"			android:layout_width="85dip"			android:gravity="center" 			android:textSize="15px" />		<View android:layout_width="1dip" android:background="#FF909090" />		<TextView			android:id="@+id/tv3"			android:layout_width="85dip"			android:gravity="center" 			android:textSize="15px" />		<View android:layout_width="1dip" android:background="#FF909090" />		<TextView			android:id="@+id/tv4"			android:layout_width="85dip"			android:gravity="center" 			android:textSize="15px" />		<View android:layout_width="1dip" android:background="#FF909090" />		<TextView			android:id="@+id/tv5"			android:layout_width="85dip"			android:gravity="center" 			android:textSize="15px" />		<View android:layout_width="1dip" android:background="#FF909090" />		<TextView			android:id="@+id/tv6"			android:layout_width="85dip"			android:gravity="center" 			android:textSize="15px" />		<View android:layout_width="1dip" android:background="#FF909090" />	</TableRow></TableLayout></LinearLayout>
?
然后是Java代码:
首先自己定义一个Adapter,并继承SimpleAdapter,代码如下:
package com.util;import java.util.List;import java.util.Map;import android.content.Context;import android.graphics.Color;import android.view.View;import android.view.ViewGroup;import android.widget.SimpleAdapter;public class SpecialAdapter extends SimpleAdapter {	private int[] colors = new int[]{			0x30FF0000, 0x300000FF 	};	public SpecialAdapter(Context context, List<? extends Map<String, ?>> data,			int resource, String[] from, int[] to) {		super(context, data, resource, from, to);		// TODO Auto-generated constructor stub	}	@Override	public View getView(int position, View convertView, ViewGroup parent) {		View view = super.getView(position, convertView, parent);		int colorPos = position % colors.length;		if(colorPos==1){			view.setBackgroundColor(Color.argb(250, 255, 255, 255));		}else{			view.setBackgroundColor(Color.argb(250, 224, 243, 250));		}		return view;	}}
?
最后是定义主函数TableActivity,代码如下:
package com.action;import java.util.ArrayList;import java.util.HashMap;import android.app.Activity;import android.graphics.drawable.Drawable;import android.os.Bundle;import android.widget.HorizontalScrollView;import android.widget.ListView;import com.util.SpecialAdapter;public class TableActivity extends Activity {    ListView lv;	/** Called when the activity is first created. */    @Override    public void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);                ArrayList<HashMap<String,String>> mylist = new ArrayList<HashMap<String,String>>();                for(int i=1; i<15; i++){        	HashMap<String,String> map1 = new HashMap<String,String>();            map1.put("Num", "123");            map1.put("Receive", "张三");            map1.put("PayWay", "货到付款");            map1.put("TotalPrice", "$98.3");            map1.put("State","已发贷");            map1.put("Date", "2011-2-14");            mylist.add(map1);        }        SpecialAdapter adapter = new SpecialAdapter(this, mylist, R.layout.main,         		new String[]{ "Num","Receive","Payway","TotalPrice","State","Date" },         		new int[] { R.id.tv1,R.id.tv2,R.id.tv3,R.id.tv4,R.id.tv5,R.id.tv6 }        );        lv = new ListView(this);        lv.setHorizontalScrollBarEnabled(true);        lv.setAdapter(adapter);        HorizontalScrollView hsv = new HorizontalScrollView(this);        hsv.addView(lv);        setContentView(hsv);    }}
?
?
?
  相关解决方案