android datagride

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;          }               }  }  

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章