【发布时间】:2020-01-09 22:40:32
【问题描述】:
在autoCompleteTextView 中插入数据库中的数据时应用程序崩溃。
我有两节课
首先,测试类
public class Test extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
final DataBaseHelper myDb = new DataBaseHelper(this);
final String [] myData = myDb.SelectAllData();
final AutoCompleteTextView autoCom = findViewById(R.id.stations);
ArrayAdapter arrayAdapter=new ArrayAdapter(this, android.R.layout.simple_dropdown_item_1line, myData);
autoCom.setAdapter(arrayAdapter);
}}
二、DataBaseHelper类
public class DataBaseHelper extends SQLiteOpenHelper {
private static final int DATABASE_VERSION = 1;
private static final String DATABASE_NAME = "stations";
private static final String TABLE_STATIONS = "stations";
public DataBaseHelper(Context context) {
super(context, DATABASE_NAME, null, DATABASE_VERSION);
}
@Override
public void onCreate(SQLiteDatabase db) {
}
public String[] SelectAllData() {
try {
String arrData[] = null;
SQLiteDatabase db;
db = this.getReadableDatabase();
String strSQL = "SELECT name FROM " + TABLE_STATIONS;
Cursor cursor = db.rawQuery(strSQL, null);
if (cursor != null) {
if (cursor.moveToFirst()) {
arrData = new String[cursor.getCount()];
int i = 0;
do {
arrData[i] = cursor.getString(0);
i++;
} while (cursor.moveToNext());
}
}
cursor.close();
return arrData;
} catch (Exception e) {
return null;
}
}
@Override
public void onUpgrade(SQLiteDatabase db, int oldVersion, int newVersion) {
}}
【问题讨论】:
-
如果可以的话,请发布堆栈跟踪,它有很大帮助。
标签: java android sqlite android-studio android-arrayadapter