В основном задании Я определил кнопки и поместил их в onclicklistener. Проблема в кнопке viewAll, когда я хочу, чтобы заполнить представление списка из базы данных Так что я называю метод db.getAllContacts(), но код не работаетЗаполнение ListView из базы данных
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
name = (EditText)findViewById(R.id.editText1);
phone = (EditText)findViewById(R.id.editText2);
btnViewAll=(Button)findViewById(R.id.button1);
btnAdd=(Button)findViewById(R.id.button2);
btnAdd.setOnClickListener(this);
btnViewAll.setOnClickListener(this);
}
@Override
public void onClick(View view) {
MySQLiteHelper db = new MySQLiteHelper(this);
if(view==btnViewAll) {
if(name.getText().toString().trim().length()==0 || phone.getText().toString().trim().length()==0)
{
showMessage("Error", "Please enter all values");
return;
}
else{
List<Contact> contact = new ArrayList<Contact>();
contact= db.getAllContacts();
ArrayAdapter adapter = new ArrayAdapter(this, android.R.layout.simple_list_item_1, contact);
ListView listContent = (ListView)findViewById(R.id.List);
listContent.setAdapter(adapter);
}
}
}
public void showMessage(String title,String message)
{
Builder builder=new Builder(this);
builder.setCancelable(true);
builder.setTitle(title);
builder.setMessage(message);
builder.show();
}
public void clearText()
{
name.setText("");
phone.setText("");
}
В файле SQLiteHelper:
public List<Contact> getAllContacts() {
List<Contact> contactList = new ArrayList<Contact>();
// Select All Query
String selectQuery = "SELECT * FROM contact";
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.setPhone(cursor.getString(2));
// Adding contact to list
contactList.add(contact);
} while (cursor.moveToNext());
}// return contact list
return contactList;}
Помогите мне
Используйте CursorAdapter вместо этого. – Nazgul
Вы должны использовать customAdapter для своего списка контактов –
И проверить журнал метода getAllContacts(), чтобы он возвращал список контактов или нет из базы данных. –