有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何将日期发送到游标?

我无法用光标获取日期,我测试了所有可能性,但找不到解决方案

我都试过了。 问题是我想在4行中获取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


共 (2) 个答案

  1. # 1 楼答案

    您对getString()有一个额外的不必要的错误呼叫:

    c.getString(c.getString(c.getColumnIndex(KEY_DATE_TREATMENT)))
    

    更改为:

            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.getColumnIndex(KEY_DATE_TREATMENT)));
    
  2. # 2 楼答案

    更改固定:-

    c.getString(c.getString(c.getColumnIndex(KEY_DATE_TREATMENT)));
    

    致:

    c.getString(c.getColumnIndex(KEY_DATE_TREATMENT));
    

    您试图使用^{},使用字符串arg,而不是intarg,因为您将c.getString(c.getColumnIndex(KEY_DATE_TREATMENT))作为arg。arg返回字符串(您想要获取的数据)而不是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,该列的列偏移量为name,值为KEY\u DATE\u TREATMENT,使用getString方法(与使用getInt的其他行一样)