我想创建一个列表视图,其中的行具有列顺序的表格布局:
1、2、5
3、4
其中 1 = 结果;2 = 价值;3 = 值限定符;4 = 单位;5 = 管。
我的 sqlite 数据库表最初是第 1、2、3、4、5 列
这给了我一个表格行列表
1、2、3
4, 5
因此,我将 sqlite 表中的列顺序更改为 1、2、5、3、4
但是,这仍然给了我一个像以前一样的行列表
1, 2, 3,
4、5。
我不明白我在做什么错 - 我的 simpleCursorAdapter 方法中的选择和投影参数的顺序正确,我的 sqlite managedQuery 中的 FROM 参数也是如此。
有没有办法让 simpleCursorAdapter 更改表中列的顺序,即我的列表中的一行?还是我应该使用其他适配器?
如果您需要更多代码来回答此查询,请告诉我。我对编程也比较陌生。(我是一名职业医生)
主要活动:
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
...
Cursor c = getResults();
showResults(c);
...
}
private static String[] FROM = {_ID, CATEGORY, RESULT, VALUE, TUBE,
VALUE_QUALIFIER, UNIT};
private Cursor getResults()
{
// Perform a managed query. The Activity will handle closing and re-querying
// the cursor when needed.
return managedQuery(CONTENT_URI, FROM, null, null, RESULT + " ASC");
}
private static int[] views = {R.id.result, R.id.value, R.id.tube, R.id.value_qualifier,
R.id.unit};
private static String[] cols = {RESULT, VALUE, TUBE, VALUE_QUALIFIER, UNIT};
public void showResults(Cursor c)
{
SimpleCursorAdapter adapter = new SimpleCursorAdapter(this,
R.layout.list_example_entry, c, cols, views);
this.setListAdapter(adapter);
}
xml 列表视图行:
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:your_namespace="http://schemas.android.com/apk/res/com.sam.results"
android:id="@+id/table"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:clickable="false"
android:stretchColumns="1" >
<TableRow >
<com.sam.results.TypefacedTextView
android:id="@+id/result"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="result"
android:textColor="#1a1b70"
your_namespace:typeface="Designosaur-Regular.ttf" />
<com.sam.results.TypefacedTextView
android:id="@+id/value"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="value"
your_namespace:typeface="Designosaur-Regular.ttf"
android:gravity="center" />
<com.sam.results.TypefacedTextView
android:id="@+id/tube"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="tube"
your_namespace:typeface="Designosaur-Regular.ttf" android:gravity="right"/>
</TableRow>
<TableRow >
<com.sam.results.TypefacedTextView
android:id="@+id/value_qualifier"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="qual"
your_namespace:typeface="Designosaur-Regular.ttf" />
<com.sam.results.TypefacedTextView
android:id="@+id/unit"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="unit"
android:textColor="#7eccd6"
your_namespace:typeface="Designosaur-Regular.ttf" android:gravity="center"
/>
<com.sam.results.TypefacedTextView
android:id="@+id/tube"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
your_namespace:typeface="Designosaur-Regular.ttf" android:gravity="right"/>
</TableRow>
</TableLayout>
带有主要的 xml 布局
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
...
<ListView
android:id="@android:id/android:list"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/imageView1"
android:clickable="false"
android:divider="#71b3d9"
android:dividerHeight="1dip"
android:listSelector="@android:color/transparent" />
...
<\RelativeLayout>