我想创建一个列表视图,其中的行具有包含列顺序的表格布局:
1,2,5
3,4
其中1 =结果; 2 =价值; 3 = value_qualifier; 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更改列表中列中列的顺序?或者我应该使用不同的适配器吗?
如果您需要更多代码来回答此问题,请与我们联系。我对编程也比较陌生。 (我是一名军医)
mainactivity:
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 listview行:
<?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>