为什么我要获取地址而不是值?
我正在从Url中获取一些数据并将其存储在SQLite中。这些数据是JSON格式的。
DBHandlerMain.Class
//.....some code
@Override
public void addResults(Results detailDB) {
SQLiteDatabase db = this.getWritableDatabase();
try {
ContentValues values = new ContentValues();
values.put(KEY_ID, detailDB.getId());
values.put(KEY_BOARD, detailDB.getmusic());
values.put(KEY_IMAGE, detailDB.getimage());
db.insert(TABLE_NAME, null, values);
db.close();
} catch (Exception e) {
Log.e("problem", e + "");
}
}
@Override
public ArrayList<Results> getAllResults() {
SQLiteDatabase db = this.getReadableDatabase();
ArrayList<Results> cityList = null;
try {
cityList = new ArrayList<>();
String QUERY = "SELECT DISTINCT _images FROM " + TABLE_NAME;
Cursor cursor = db.rawQuery(QUERY, null);
if (!cursor.isLast()) {
while (cursor.moveToNext()) {
Results all_results = new Results();
all_results.setId(cursor.getInt(0));
all_results.toString();
cityList.add(all_results);
}
}
db.close();
} catch (Exception e) {
Log.e("error", e + "");
}
return cityList;
}
my_activity.class试试{
jsonarray = jsonobject.getJSONArray("results");
for (int i = 0; i < jsonarray.length(); i++) {
jsonobject = jsonarray.getJSONObject(i);
Results results = new Results();
results.setMusic(jsonobject.optString("music"));
results.setImage(jsonobject.optString("image"));
results.setId(jsonobject.getInt("id"));
handler.addResults(results);
}
} catch (JSONException e) {
Log.e("Error", e.getMessage());
e.printStackTrace();
}
....some code
DBHandlerMain handler;
final ArrayList<Results> myList = handler.getAllResults();
ArrayAdapter<Results> dataAdapter = new ArrayAdapter<>(this, android.R.layout.simple_spinner_item,
myList);
dataAdapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);
// attaching data adapter to spinner
mySpinner.setAdapter(dataAdapter);
o / p:... @ 1bc65f1
我试图将myList转换为字符串,但结果是相同的。
ArrayList<String> newList = new ArrayList<String>(myList.size());
for (Results myoldList : offlineList) {
newList.add(String.valueOf(myoldList));
}
您将对象转换为字符串的方法是错误的。
ArrayList<String> newList = new ArrayList<String>(myList.size());
for (Results myoldList : offlineList) {
newList.add(String.valueOf(myoldList));
}
这样,您将获得对象标识符地址的字符串值。您的方法应如下所示:
ArrayList<String> newList = new ArrayList<String>(myList.size());
for (Results myoldList : offlineList) {
newList.add(myoldList.getMyObjectStringAttribute());
}
其中myoldList.getMyObjectStringAttribute()是要列出的对象属性。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句