我们有时在处理数据时可能用Cursor比较方便。但我们如何自己创造一个Cursor呢?
这时我们可以用Android为我们提供的MatrixCursor类,自己创造一个Cursor。
下面通过一个事例来分析,如何创造一个Cursor作为SimpleCursorAdapter的数据来源。
##1、Activity布局
android:textSize="24sp"
android:gravity="center_horizontal"
/>
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="班级"
android:textSize="24sp"
android:gravity="center_horizontal"
/>
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:text="学号"
android:textSize="24sp"
android:gravity="center_horizontal"
/>
</LinearLayout>
<ListView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/listView"
/>
</LinearLayout>
##2、ListView中的数据布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/name"
android:gravity="center_horizontal"
/>
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/banji"
android:gravity="center_horizontal"
/>
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/studentID"
android:gravity="center_horizontal"
/>
</LinearLayout>
##3、模拟从服务器获取数据
public class MyDataBase {
private static int count = 0;
public static String[]Column = null;
public static String[] getColumn(){
if(null == Column){
return new String[]{"姓名","班级","学号"};
}
return Column;
}
public static Object[] getColumnData(){
count++;
return new Object[]{new Integer(count),"zhangsan"+count,"jisuanji"+count,"201210"+count};
}
}
##4、Activity
public class MainActivity extends Activity {
private ListView listView;
private SimpleCursorAdapter sca;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstance