我是Android的初学者。我已将输入的值保存到db中,然后将它们存储到ArrayList
中。我想获取Activity中的所有值,但我无法将其传递给构造函数。我怎么做?有人可以帮忙吗?
public String printTableData() {
SQLiteDatabase db = getReadableDatabase();
Cursor cur = db.rawQuery("SELECT * FROM " + Constants.TABLE_NAME, null);
if (cur.getCount() != 0) {
cur.moveToFirst();
do {
row_values = "";
for (int i = 0; i < cur.getColumnCount(); i++) {
data = new ArrayList<String>();
row_values = row_values + " || " + cur.getString(i);
}
Log.d("LOG_TAG_HERE", row_values);
data.add(row_values);
} while (cur.moveToNext());
}
return row_values;
}
答案 0 :(得分:0)
它如此简单易行......有很多方法可以发送和接收活动中的数据。
1-使用Bundle在活动中发送和接收数据。
public ArrayList<String> printTableData() {
SQLiteDatabase db = getReadableDatabase();
Cursor cur = db.rawQuery("SELECT * FROM " + Constants.TABLE_NAME, null);
if (cur.getCount() != 0) {
cur.moveToFirst();
do {
row_values = "";
for (int i = 0; i < cur.getColumnCount(); i++) {
data = new ArrayList<String>();
row_values = row_values + " || " + cur.getString(i);
}
Log.d("LOG_TAG_HERE", row_values);
data.add(row_values);
} while (cur.moveToNext());
}
return data;
}
在您的活动课程中:
ArrayList<String> data = printTableData();
现在你可以迭代数据循环。
另一种方式是:
在您的第一个活动中
ArrayList<String> myList = printTableData();
intent.putExtra("mylist", myList);
startActivity(intent, AnotherActivity.Class);
在您的另一项活动中:
ArrayList<String> myList = (ArrayList<String>) getIntent().getSerializableExtra("mylist");
另一种方法是使用Event Bus发送和接收数据。 https://github.com/greenrobot/EventBus