在android上,去用gridview实现了表格,我怎么给每行加序号?还有一个问题是怎么让每行背景不一样?哪位高手知道麻烦指导一下,最好把代码贴上来,谢谢啊

解决方案 »

  1.   

    截取部份代码,自己看吧
            
            @Override
            public boolean onScroll(MotionEvent e1, MotionEvent e2,
                    float distanceX, float distanceY) {
                 
             if((e1==null) || (e2==null)) return false;
            
             int comWidth = subview1.getWidth();
            
             if (e1.getX() > e2.getX())
    {
    if(scrollPos>=comWidth*3) return true;
    scrollPos = scrollPos +  comWidth;
    }
    else if (e2.getX() > e1.getX()) 
    {
    if(scrollPos<=0) return true;
    scrollPos = scrollPos - comWidth;
    }
            
             mScrollView.scrollTo(scrollPos, mScrollView.getScrollY()); return true;
            }ER647786705CS  10665185
    301567106104 <ListView    
    android:id="@+id/lv_s_id"    
    android:layout_width="fill_parent"     
    android:layout_height="fill_parent"
    android:divider="@null"
    android:cacheColorHint="#FFfffff7"
    android:background="#FFfffff7"
    />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE">
    </uses-permission>
    <uses-permission android:name="android.permission.READ_PHONE_STATE">
    </uses-permission>
    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE">
    </uses-permission>
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE">
    </uses-permission>
    <uses-permission android:name="android.permission.INTERNET">
    </uses-permission>
    <!-- 添加以下两个可选权限,用于支持特殊的广告形式 -->
    <uses-permission
    android:name="com.android.launcher.permission.INSTALL_SHORTCUT">
    </uses-permission>
    <uses-permission
    android:name="com.android.browser.permission.WRITE_HISTORY_BOOKMARKS">
    </uses-permission><activity android:configChanges="keyboard|keyboardHidden|orientation"
    android:name="net.youmi.android.appoffers.YoumiOffersActivity" >
    </activity><meta-data android:name="YOUMI_CHANNEL" android:value=" 请输入正整数渠道号
    "></meta-data>aaa.xml<?xml version="1.0" encoding="utf-8"?>
    <!-- android:background="@drawable/background4" -->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#FFFFFFF7"
        android:cacheColorHint="#FFfffff7" 
    >
        
    <GridView
        android:id="@+id/qgb_grid"
        android:layout_width="wrap_content"
        android:padding="1dip"
        android:layout_height="wrap_content"
        android:numColumns="13">
        <!-- GridView设置为五列 边距为30pid-->
    </GridView>
    </LinearLayout>public class qgb_and_stbz extends Activity implements Global, GridView.OnItemClickListener{ private GridView my_gridview;
    private StringAdapter my_ViewAdapter;
    private String mWhich="";

    public class StringAdapter extends BaseAdapter {
    /*myContext为上下文*/
    private Context myContext;
    /*GridView用来加载图片的ImageView*/
    private TextView the_TextView;

    ArrayList mStringValues = new ArrayList();
    ArrayList mStringKeys = new ArrayList(); 

    /*构造方法*/
    public StringAdapter(Context myContext) {
    this.myContext = myContext;
    }

    /*返回资源ID数组长度*/
    @Override
    public int getCount() {
    return mStringValues.size();
    }

    /*得到Item*/
    @Override
    public Object getItem(int position) {
    return position;
    }

    /*获取Items的ID*/
    @Override
    public long getItemId(int position) {
    return position;
    }

    /*获取要显示的View对象*/
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

    the_TextView = new TextView(myContext);
    the_TextView.setHeight(60);
    the_TextView.setTextSize(16);
    the_TextView.setTextColor(getResources().getColor(color.black));


    //String txTmp = (String)mStringValues.get(position);
    //the_TextView.setText(txTmp); return the_TextView;
    }
    } private boolean load_qgb()
    {
           
            int nameColumnIndex=0;
            
                
             for(int i=1;i<=12;i++)
             my_ViewAdapter.mStringValues.add(String.valueOf(i));
            
            
                return true;

    }@Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState); setContentView(R.layout.aaa);


    my_ViewAdapter = new StringAdapter(this);
    load_qgb();


    my_ViewAdapter.mStringKeys.trimToSize();
    my_ViewAdapter.mStringValues.trimToSize();
     

    my_gridview = (GridView)findViewById(R.id.qgb_grid);
           my_gridview.setAdapter(my_ViewAdapter);
            my_gridview.setOnItemClickListener(this);
            
    }
    }   
      

  2.   

    上贴回复错了,重回复一下aaa.xml<?xml version="1.0" encoding="utf-8"?>
    <!-- android:background="@drawable/background4" -->
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:orientation="vertical"
        android:background="#FFFFFFF7"
        android:cacheColorHint="#FFfffff7" 
    >
        
    <GridView
        android:id="@+id/qgb_grid"
        android:layout_width="wrap_content"
        android:padding="1dip"
        android:layout_height="wrap_content"
        android:numColumns="13">
        <!-- GridView设置为五列 边距为30pid-->
    </GridView>
    </LinearLayout>public class qgb_and_stbz extends Activity implements Global, GridView.OnItemClickListener{ private GridView my_gridview;
    private StringAdapter my_ViewAdapter;
    private String mWhich="";

    public class StringAdapter extends BaseAdapter {
    /*myContext为上下文*/
    private Context myContext;
    /*GridView用来加载图片的ImageView*/
    private TextView the_TextView;

    ArrayList mStringValues = new ArrayList();
    ArrayList mStringKeys = new ArrayList(); 

    /*构造方法*/
    public StringAdapter(Context myContext) {
    this.myContext = myContext;
    }

    /*返回资源ID数组长度*/
    @Override
    public int getCount() {
    return mStringValues.size();
    }

    /*得到Item*/
    @Override
    public Object getItem(int position) {
    return position;
    }

    /*获取Items的ID*/
    @Override
    public long getItemId(int position) {
    return position;
    }

    /*获取要显示的View对象*/
    @Override
    public View getView(int position, View convertView, ViewGroup parent) {
    // TODO Auto-generated method stub

    the_TextView = new TextView(myContext);
    the_TextView.setHeight(60);
    the_TextView.setTextSize(16);
    the_TextView.setTextColor(getResources().getColor(color.black));


    //String txTmp = (String)mStringValues.get(position);
    //the_TextView.setText(txTmp); return the_TextView;
    }
    } private boolean load_qgb()
    {
           
            int nameColumnIndex=0;
            
                
             for(int i=1;i<=12;i++)
             my_ViewAdapter.mStringValues.add(String.valueOf(i));
            
            
                return true;

    }@Override
    protected void onCreate(Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    super.onCreate(savedInstanceState); setContentView(R.layout.aaa);


    my_ViewAdapter = new StringAdapter(this);
    load_qgb();


    my_ViewAdapter.mStringKeys.trimToSize();
    my_ViewAdapter.mStringValues.trimToSize();
     

    my_gridview = (GridView)findViewById(R.id.qgb_grid);
           my_gridview.setAdapter(my_ViewAdapter);
            my_gridview.setOnItemClickListener(this);
            
    }
    }   
      

  3.   

    在getView中检测当前项序号是否是每列项目数的倍数+1,是的话就更改布局,也就是添加你要的序号
      

  4.   

    可以重载GrideView, 然后在protected void dispatchDraw(Canvas canvas)方法里面动手脚。