android中使用gridview顯示文字內容
阿新 • • 發佈:2019-01-28
官方的demo和例子都是顯示圖片,這裡我反過來把它當table用,顯示最基本的資料資訊
1、首先定義基本的layout資訊
2、其次是建立資料介面卡,這裡我建立了21個數據內容,按照上邊的佈局,每行顯示7列<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center_horizontal" android:background="#035FBE" android:padding="5pt" > <GridView android:id="@+id/grid_base" android:layout_width="fill_parent" android:layout_height="fill_parent" android:numColumns="7" android:gravity="left" android:stretchMode="columnWidth" android:visibility="visible" android:background="#FF5400"> </GridView> </LinearLayout>
package com.jiuchongju.adapter; import com.jiuchongju.json.Json2Name; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.BaseAdapter; import android.widget.GridView; import android.widget.TextView; public class BaseInfoAdapter extends BaseAdapter { private Context context; private String[] texts =new String[21]; public BaseInfoAdapter(Context context,Json2Name jn) { this.context = context; for(int i=0;i<21;i++){ texts[i]=i+"_title_"+i; } } @Override public int getCount() { return 21; } @Override public Object getItem(int position) { return null; } @Override public long getItemId(int position) { return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { TextView tv; if (convertView == null) { tv = new TextView(context); tv.setLayoutParams(new GridView.LayoutParams(85, 30)); } else { tv = (TextView) convertView; } tv.setText(texts[position]); return tv; } }
3、在activity的oncreate中呼叫
GridView grid=(GridView) this.findViewById(R.id.grid_base);
grid.setAdapter(new BaseInfoAdapter(this,jn));
上邊的那個BaseInfoAdapter的建構函式看我們自己的定義了4、注意事項
某些情況下我們將gridview佈局直接在linerlayout佈局下顯示不成功,後來經過反覆實驗發現一個問題
我們將eclipse重啟將模擬器關閉或者重建下模擬器就解決問題了..