我无法通过光标获取日期,我测试了所有可能性,但找不到解决方案。
我都试过了。
问题是我想要获取 KEY_DATE_TREATMENT
public List<Treatment> getTreatmentsList(){
List<Treatment> tList = new ArrayList<>();
Cursor c = getTreatments();
if (c.moveToFirst())
{
do {
SimpleDateFormat dateFormatprev = new SimpleDateFormat("yyyy-MM-dd");
Date d = new Date();
try {
d = dateFormatprev.parse(c.getString(c.getColumnIndex(KEY_DATE_TREATMENT)));
}
catch (ParseException e){
}
Treatment data = new Treatment(c.getInt(c.getColumnIndex(KEY_ID_TREATMENT)),
c.getInt(c.getColumnIndex(KEY_IDPARCEL_TREATMENT)),
c.getInt(c.getColumnIndex(KEY_IDTREATMENTPRODUCT_TREATMENT)),
c.getInt(c.getColumnIndex(KEY_IDWEATHER_TREATMENT)),
c.getString(c.getString(c.getColumnIndex(KEY_DATE_TREATMENT)));
tList.add(data);
}
while (c.moveToNext());
}
c.close();
}
我目前的错误是:
getString(int) in Cursor cannot be applied to Java.lang.String
最佳答案
通过更改修复:-
c.getString(c.getString(c.getColumnIndex(KEY_DATE_TREATMENT)));
致:-
c.getString(c.getColumnIndex(KEY_DATE_TREATMENT));
您尝试使用 c.getString()
,带有 String arg,而不是 int arg,因为您将 c.getString(c.getColumnIndex(KEY_DATE_TREATMENT))
作为 arg。 arg 返回 String(您想要获取的数据)而不是 int。
链接说:-
getString
public abstract String getString (int columnIndex)
Parameters
columnIndex int: the zero-based index of the target column.
c.getColumnIndex(KEY_DATE_TREATMENT)
获取一个 int,即名称为 的列的列偏移量KEY_DATE_TREATMENT 并在 getString
方法中工作(与使用 getInt
的其他行一样)。
关于java - 我该怎么做才能将日期发送到光标?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56827905/