любезно помогите мне отладить или найти решение проблемы, с которой я столкнулся .. Здесь я пытаюсь прочитать все значения из таблицы в базе данных, используя объект Cursor.
Затем для определенного столбца, то есть UID (который является внешним ключом), я хочу отобразить все множественные записи строк.(сравнение UID с cur.getString (3))
Я использовал приведенный ниже код для отображения результата в TextView, но была некоторая задержка, с которой я столкнулся.
Результирующий набор не отображался сразу после вызова этого действия, однако после нескольких попыток повторного входа в систему он работал нормально.(мое приложение имеет форму входа в систему)
Поэтому я решил использовать TextView, который может отображать набор результатов по нажатию кнопки, однако активность завершается сбоем при нажатии кнопки.
package com.androidarun.mobilewallet;
import android.app.Activity;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
public class DisplayCCards extends Creditcard_Registration {
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.creditcards_ui);
final EditText view = (EditText) findViewById(R.id.displayarea);
final StringBuilder ret = new StringBuilder(1000);
final MyDBAdapter db = new MyDBAdapter(getBaseContext());
Button showcc = (Button) findViewById(R.id.showcc);
showcc.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
Cursor cur = db.getAllCards();
cur.moveToFirst();
while (cur.isAfterLast() == false) {
if ( Integer.parseInt(cur.getString(3))== UID)
ret.append("Credit card number: " + cur.getString(1) + " \n" +
" CVV : " + cur.getString(2)+ " \n " + " Validity : " + cur.getString(4)+ " \n ");
cur.moveToNext();
}
cur.close();
db.close();
view.setText(ret);
}
});