简单光标适配器列顺序

时间:2012-06-14 20:59:17

标签: android sqlite listview simplecursoradapter

我想创建一个列表视图,其中的行具有包含列顺序的表格布局:

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>

0 个答案:

没有答案