我正在返回一个数组String []数据,但它返回NULL。 我试图在数据[]中存储数组,但没有工作, 现在我在字符串(名称,电话,临时密码,密码)中有值,但不能返回..
public String[] searchUserData(String email) {
String[] data= null;
String temp,name,phone,password;
if (cr.moveToFirst()) {
do {
temp = cr.getString(2);
if (temp.equals(email)) {
//data[0]= cr.getString(1);
//data[1]= cr.getString(2);
//data[2]= cr.getString31);
//data[3]= cr.getString41);
name = cr.getString(1);
phone = cr.getString(3);
password = cr.getString(4);
Log.i("Values", name+" "+phone+" "+email+" "+password);
}
} while (cr.moveToNext());
cr.close();
}
db.close();
return data;
}
答案 0 :(得分:2)
写String[] data = new String[4];
会让你失望。
这为data
数组提供了4个元素,这些元素最初设置为null
。
可以使用data[0]
到data[3]
访问这些:Java中的数组索引是从0开始的。
答案 1 :(得分:0)
您尚未创建String数组对象
public String[] searchUserData(String email) {
String[] data= new String[4];
String temp,name,phone,password;
if (cr.moveToFirst()) {
do {
temp = cr.getString(2);
if (temp.equals(email)) {
data[0]= cr.getString(1);
data[1]= cr.getString(2);
data[2]= cr.getString31);
data[3]= cr.getString41);
name = cr.getString(1);
phone = cr.getString(3);
password = cr.getString(4);
Log.i("Values", name+" "+phone+" "+email+" "+password);
}
} while (cr.moveToNext());
cr.close();
}
db.close();
return data;
}
答案 2 :(得分:0)
您还有其他一些问题: