我正在获取此c.getString(0)
方法的字符串输出。我想知道如何将此输出存储到Java中的数组中?这个c.getString(0)
方法是在while循环中。每次while循环运行时,我都希望存储使用c.getString(0)
方法获得的值以存储在数组中。我怎样才能做到这一点?
private void showList() {
DataBaseHelper db = new DataBaseHelper(this);
db.open();
c = db.retriveall();
if (c.moveToFirst()) {
do {
Toast.makeText(MainActivity.this,
"_id: " + c.getString(0) + "\n",
Toast.LENGTH_LONG).show();
} while (c.moveToNext());
}
}
现在我要向它展示一个祝酒词。而不是显示我想将它存储到数组。请帮帮我
答案 0 :(得分:2)
要存储数据,您可以执行以下操作:
如果您正在使用该数组,则声明String数组
String arr[]=new String[numberOfItems];
然后每次迭代循环时写:
arr[position++]=c.getString(position);
现在,如果您正在使用Array List,则声明Array List:
ArrayList<String> list=new ArrayList<String>();
然后每次循环遍历循环:
list.add(c.getString(position));
在此之后获取元素,您可以编写一个foreach循环。
for(String ele: list){
Toast.makeText(context,ele,Toast.LENGTH_SORT).show();
}
答案 1 :(得分:1)
使用ArrayList
。它们是动态的,即不需要初始长度。使用ArrayList.add()
方法向ArrayList
添加元素,如果需要,可使用ArrayList.toArray()
获取数组。
来自官方文档here的更多信息。
答案 2 :(得分:0)
创建一个全局变量,如
ArrayList<String> list = new ArrayList<String>();
在循环中,您可以添加此代码
list.add(c.getString(0));
稍后您可以使用list.toArray()
方法将其转换为数组。
如果您想按字符方式存储String
值,请使用toCharArray()
方法。
答案 3 :(得分:0)
您可以使用以下代码:
List<String> globalList = new ArrayList<String>();
private void showList() {
DataBaseHelper db = new DataBaseHelper(this);
db.open();
c = db.retriveall();
if (c.moveToFirst()) {
do {
Toast.makeText(MainActivity.this,
"_id: " + c.getString(0) + "\n",
Toast.LENGTH_LONG).show();
globalList.add(c.getString(0)) ;
} while (c.moveToNext());
}
String [] a = globalList.toArray(new String[globalList.size()]);
}