Как создать отображение DataGrid в Android?

Hai кто-нибудь, пожалуйста, скажите мне, есть ли возможность создать DataGrid в android, если да, то, пожалуйста, помогите мне с некоторыми фрагментами кода или дайте некоторые связанные с ними URL-адреса.

Book.java

package com.dgrid; public class Book { String title; String author; public Book(String title, String author) { this.title = title; this.author = author; } public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } } 

main.xml

 <?xml version="1.0" encoding="utf-8"?> <AbsoluteLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="wrap_content" android:layout_height="fill_parent" > <ListView android:id="@+id/bookListView" android:layout_width="fill_parent" android:layout_height="fill_parent" android:divider="#ffffff" /> </AbsoluteLayout> 

row.xml

 <?xml version="1.0" encoding="utf-8"?> <LinearLayout android:id="@+id/widget0" android:orientation="horizontal" android:layout_toRightOf="@android:id/icon" android:layout_width="fill_parent" android:layout_height="fill_parent" android:background="#ffffff" xmlns:android="http://schemas.android.com/apk/res/android" > <com.dgrid.ListItemView android:id="@+id/title" android:layout_height="wrap_content" android:layout_width="150px" android:text="Title" android:textSize="10sp" android:textStyle="bold" android:textColor="#ff000000" /> 

ListItemView.java

 package com.dgrid; import android.content.Context; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.util.AttributeSet; import android.widget.TextView; public class ListItemView extends TextView { private boolean isHeader = false; private Paint linePaint; public ListItemView(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); init(); } public ListItemView(Context context, AttributeSet attrs) { super(context, attrs); init(); } public ListItemView(Context context) { super(context); init(); } public void init(){ linePaint = new Paint(Paint.ANTI_ALIAS_FLAG); linePaint.setColor(Color.parseColor("#000000")); } public boolean isHeader() { return isHeader; } public void setHeader(boolean isHeader) { this.isHeader = isHeader; } @Override protected void onDraw(Canvas canvas) { super.onDraw(canvas); if(isHeader){ canvas.drawColor(Color.parseColor("#AAFFFF99")); } canvas.drawLine(0, 0, getMeasuredWidth(), 0,linePaint); canvas.drawLine(0, getMeasuredHeight(), getMeasuredWidth(), getMeasuredHeight(),linePaint); canvas.drawLine(0,0, 0, getMeasuredHeight(),linePaint); } } 

DatagridActivity.java

 package com.dgrid; import android.app.Activity; import android.content.Context; import android.os.Bundle; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.ArrayAdapter; import android.widget.ListView; public class DatagridActivity extends Activity { Context mContext; Book[] books = {new Book("Title","Author"),new Book("Clean Code","Uncle Bob"),new Book("Face 2.0","Allen Cooper")}; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mContext = this; setContentView(R.layout.main); ListView bookListView =(ListView)findViewById(R.id.bookListView); LitemItemAdapter mcqListAdapter = new LitemItemAdapter(this,R.layout.row,books); bookListView.setAdapter(mcqListAdapter); } class LitemItemAdapter extends ArrayAdapter<Book>{ public LitemItemAdapter(Context context, int textViewResourceId, Book[] objects) { super(context, textViewResourceId, objects); } public View getView(int position, View convertView, ViewGroup parent) { View v = convertView; if (v == null) { LayoutInflater vi = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE); v = vi.inflate(R.layout.row, null); } Book item = books[position]; if (item != null) { ListItemView titleView = (ListItemView) v.findViewById(R.id.title); ListItemView authorView = (ListItemView) v.findViewById(R.id.author); if(position == 0){ titleView.setHeader(true); authorView.setHeader(true); } if(titleView != null){ titleView.setText(item.getTitle()); } if(authorView != null){ authorView.setText(item.getAuthor()); } } return v; } } }