正在开发一个从Database获取一些数据的应用程序。但是它显示了这个错误
private void add() {
db = (new DbHelper(this)).getReadableDatabase();
String query = "select * from stock where product = ?";
String list_data;
Cursor c = db.rawQuery(query, new String[] { list_data });
c.moveToFirst();
final CharSequence[] items = new CharSequence[list_data.length()];
for (int i = 0; i < list_data.length(); i++) {
items[i] = list_data[i];//here is the error
}
答案 0 :(得分:0)
试试这个
db = (new DbHelper(this)).getReadableDatabase();
String query = "select * from stock where product = ?";
String list_data;
Cursor c = db.rawQuery(query, new String[] { list_data });
c.moveToFirst();
final CharSequence[] items = new CharSequence[list_data.length()];
for (int i = 0; i < list_data.length(); i++) {
items[i] = list_data.charAt(i);
}
您可以使用charAt(int index)方法从String获取char
答案 1 :(得分:0)
由于是String变量,您的变量 list_data 不能像数组一样使用。当我说它不能用作数组时,我特别谈到用于引用字符串中单个字符的方括号。
items[i] = list_data[i];
正如Aniruddh正确指出的那样,你必须使用在String类下定义的内置charAt()方法。
items[i] = list_data.charAt(i);
详情请参阅定义─ https://developer.android.com/reference/java/lang/String.html#charAt%28int%29
干杯。