我用相当简单的应用程序挣扎了一段时间。 这是我在listactivity类中的onCreate:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
requestWindowFeature(Window.FEATURE_NO_TITLE);
DB db = new DB(this);
db.open();
cur = db.getData(); //cursor with all data from an SQLite db
String[] from = new String[] { DB.KEY_FIRSTNAME,
DB.KEY_LASTNAME, DB.KEY_BDATE};
int[] to = new int[] { NOT SURE WHAT TO PUT HERE };
startManagingCursor(cur);
setListAdapter(new SimpleCursorAdapter(this,
android.R.layout.simple_list_item_1, cur, from, to));
db.close();
}
getData()方法从sqlite数据库返回一个游标。定义的适配器使用的int []是我认为问题所在,但我不知道如何解决它。我拿出的清单是空白的。只有类似于数据库中条目数或仅有1列的行。我尝试过int [] {android.R.id.text1,android.R.id.text1,android.R.id.text1,android.R.id.text1}以及更少的条目,而text2和Ive现在尝试过只需制作一个textview并调用它,但它会再次变为空白。
我希望你能帮助我解决这个问题。谢谢!
答案 0 :(得分:3)
您的to
变量存储您要将数据映射到的位置的R.id。例如,如果布局(android.R.layout.simple_list_item_1)中有三个TextView,名为fName,lName和bDate,您可以将它们放在int array
中,它会将from字段中的数据映射到在to字段中的屏幕布局组件上。
int[] to = new int[] {R.id.fName, R.id.lName, R.id.bDate};