gpt4 book ai didi

android - 从数据库中检索数据并将其显示到屏幕

转载 作者:行者123 更新时间:2023-11-30 01:51:54 25 4
gpt4 key购买 nike

我想在抓点 View 中显示我的数据库中的数据,但它不起作用。当我运行它时,什么也没有发生,没有错误或日志

这是我的 MainActivity 上的代码:

DB db = new DB(this);

// Reading all contacts
Log.d("Reading: ", "Reading all contacts..");
List<Contact> contacts = db.getAllContacts();

for (Contact cn : contacts) {
String log = "Id: "+cn.getId()+" ,Name: " + cn.getName() + " ,Time: " + cn.getTime();
// Writing Contacts to log
Log.d("Name: ", log);

}

db.getAllContacts();

gridView = (GridView) findViewById(R.id.gridView1);
ArrayAdapter<String> adapter = new ArrayAdapter<String>(this,
android.R.layout.simple_list_item_1, ArrayofName);
gridView.setAdapter(adapter);

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
public void onItemClick(AdapterView<?> parent, View v,
int position, long id) {
Toast.makeText(getApplicationContext(),
((TextView) v).getText(), Toast.LENGTH_SHORT).show();
}
});

这是我数据库中的代码:

//Getting All Contacts1
public List<Contact> getAllContacts() {
List<Contact> contactList = new ArrayList<Contact>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_CONTACTS;

SQLiteDatabase db = this.getWritableDatabase();
Cursor cursor = db.rawQuery(selectQuery, null);

// looping through all rows and adding to list
if (cursor.moveToFirst()) {
do {
Contact contact = new Contact();
contact.setId(Integer.parseInt(cursor.getString(0)));
contact.setName(cursor.getString(1));
contact.setTime(Integer.parseInt(cursor.getString(2)));
// Adding contact to list
contactList.add(contact);
} while (cursor.moveToNext());
}

// return contact list
return contactList;
}

我不确定问题出在哪里,但我相信它在我的 MainActivity 中,在此先感谢!

最佳答案

ArrayofName 没有在任何地方初始化,我认为你应该在第一个循环中填充它。无需第二次调用 getAllContacts。

关于android - 从数据库中检索数据并将其显示到屏幕,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32916357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com