在Android中使用SimpleCursorAdapter填充listview
|
我知道这个问题以前曾被问过和回答过,但是我遵循了多个教程都没有用。
我只是认为,如果我编写代码,也许有人可以帮助并指出正确的方向。我不会说谎,我是一个笨拙的菜鸟,但是到目前为止我仍然很喜欢它(嗯,无论如何到目前为止)。发生的一切是在我加载活动时,它强制关闭并显示以下错误消息:
06-14 20:04:08.162: ERROR/AndroidRuntime(17605): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.example.magic8/com.example.magic8.AnswerList}: java.lang.UnsupportedOperationException: addView(View, LayoutParams) is not supported in AdapterView
所以,就在这里。我的数据库查询是:
public Cursor fetchAnswersList() {
return mDb.query(DATABASE_TABLE, new String[] {KEY_ROWID, \"answer\"},
null, null, null, null, null, null);
}
然后我的列表查看代码:
public class AnswerList extends Activity {
private Context context;
private DatabaseManager mDbHelper;
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.answerlist);
Cursor answers = mDbHelper.fetchAnswersList();
startManagingCursor(answers);
ListView answerList=(ListView)findViewById(R.id.answerList);
String[] from = new String[] {\"_id\", \"answer\"};
int[] to = new int[] {R.id.answerItem};
SimpleCursorAdapter cursorAdapter = new SimpleCursorAdapter(context, R.layout.list_item, answers, from, to);
answerList.setAdapter(cursorAdapter);
answerList.setOnItemClickListener(
new OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
// When clicked, show a toast with the TextView text
setToast(\"Answer: \" + ((TextView) view).getText());
}
});
}
最后但并非最不重要的,这是我的XML:
<?xml version=\"1.0\" encoding=\"utf-8\"?>
<LinearLayout xmlns:android=\"http://schemas.android.com/apk/res/android\"
android:layout_width=\"fill_parent\"
android:layout_height=\"fill_parent\"
android:orientation=\"vertical\">
<LinearLayout
android:id=\"@+id/addAnswerForm\"
android:layout_height=\"wrap_content\"
android:layout_width=\"match_parent\"
android:orientation=\"horizontal\">
<EditText
android:id=\"@+id/addAnswer\"
android:layout_weight=\"1\"
android:layout_height=\"wrap_content\"
android:layout_width=\"wrap_content\">
<requestFocus></requestFocus>
</EditText>
<Button
android:text=\"Add\"
android:id=\"@+id/addAnswer_btn\"
android:layout_width=\"wrap_content\"
android:layout_height=\"wrap_content\">
</Button>
</LinearLayout>
<LinearLayout
android:id=\"@+id/answers\"
android:layout_height=\"match_parent\"
android:layout_width=\"match_parent\">
<ListView
android:layout_weight=\"1\"
android:layout_height=\"wrap_content\"
android:id=\"@+id/answerList\"
android:layout_width=\"match_parent\">
<TextView
android:id=\"@+id/answerItem\"
android:layout_height=\"match_parent\"
android:layout_width=\"match_parent\">
</TextView>
</ListView>
</LinearLayout>
</LinearLayout>
没有找到相关结果
已邀请:
2 个回复
黎喊病
从ListView中删除TextView,然后尝试以下操作...
这使用了预定义的Android
和
磨标烫徽啪