0

嘿,我试图用我的 SQLite 数据库中的数据制作一个 ListView。现在我有一个名为 tricks_list 的布局,其中显示了一个编辑文本字段和一个搜索按钮。在我想要放置rick_names 的地方有我的ListView。代码运行,但没有显示一个列表,而是一个永远旋转的微调器。有谁知道怎么了?这是我的xml:

<LinearLayout
    android:id="@+id/ll_listview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_weight="80" >

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ListView>
</LinearLayout>

这是java:

public class TrickListTab extends SherlockListFragment implements
    ActionBar.TabListener {

private Fragment mFragment;
DBAdapter db = new DBAdapter(getActivity());
public ListView lv;
public SimpleCursorAdapter adapter;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    getActivity().setContentView(R.layout.tricks_list);

}

public void getTricks(View view) {
    try {

        db.open();

    } catch (SQLException e) {
        e.printStackTrace();

    }
    Cursor tricks = db.getTrick_name();
    adapter = new SimpleCursorAdapter(getActivity(),
            android.R.layout.simple_list_item_1, tricks,
            new String[] { "trick_name" },
            new int[] { android.R.id.text1 }, 0);
    lv = (ListView) view.findViewById(android.R.id.list);
    lv.setAdapter(adapter);
    db.close();
}

这是光标:

public Cursor getTrick_name() {
    return db.rawQuery("SELECT trick_name FROM Tricks_list",
            null);
}
4

1 回答 1

0

在 onCreate() 方法中(或之后)初始化 DBAdapter。

DBAdapter db;
public ListView lv;
public SimpleCursorAdapter adapter;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    db = new DBAdapter(getActivity());
    getActivity().setContentView(R.layout.tricks_list);

}
于 2013-05-28T19:50:40.823 回答