在Android上实现 DataGridView ,支持行锁定和列锁定。
public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); /**模拟数据**/ DataGridModel data = new DataGridModel(); List<DataGridTitle> titles = new ArrayList<DataGridTitle>(); for(int i=0;i<8;i++){ DataGridTitle tiltle = new DataGridTitle("标题"+String.valueOf(i), "name"+String.valueOf(i)); titles.add(tiltle); } List<Map<String,Object>> values = new ArrayList<Map<String,Object>>(); for(int j=0;j<18;j++){ Map<String,Object> value = new HashMap<String, Object>(); for(int i=0;i<8;i++){ value.put("name"+String.valueOf(i), String.valueOf(j)+String.valueOf(i)); } values.add(value); } data.setTitles(titles); data.setValues(values); /**DataGridView 的使用方法**/ DataGridView gridview = (DataGridView) findViewById(R.id.gridview); DataGridAdapter adapter = new DataGridAdapter(this, data); /** 自定义TextView样式 DataGridAdapter adapter = new DataGridAdapter(this, data, R.layout.title_text, R.layout.value_text); **/ gridview.setAdapte(adapter); //行选择的事件 gridview.setOnItemClickListener(new OnItemClickListener() { @SuppressLint("ShowToast") @Override public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) { // TODO Auto-generated method stub Toast.makeText(MainActivity.this, "第"+String.valueOf(arg2), Toast.LENGTH_LONG).show(); } }); } }