【问题标题】:How to solve the cannot resolve method 'put( int , int)' error如何解决无法解析方法“put(int,int)”错误
【发布时间】:2016-06-21 08:06:48
【问题描述】:

我有一个声明为 int 的变量,我还有一个公共 int 方法来检索该变量的值,如下所示

 private static final int  TIME_SPENT = 0 ;

  public int getTimeSpent(){
        return this._timeSpent;
    }

但是,当我编写保存到数据库的代码行时,我收到一条错误消息 "cannot resolve method put(int, int)"

public void addAppRecord(AppUsageClass appUsageClass) {
        SQLiteDatabase db = this.getWritableDatabase();

        ContentValues values = new ContentValues();
        values.put(APP_NAME, appUsageClass.getName()); 
        values.put(TIME_SPENT, appUsageClass.getTimeSpent()); // line showing error


        db.insert(Usage_Table, null, values);
        db.close(); // Closing database connection
    }

【问题讨论】:

  • 那是因为 put(int,int) 不是一个有效的方法..点击它查看你可以使用的各种重载方法
  • put(int,int) 什么都不能放(String key,int)
  • 按照建议单击它后,我可以选择初始化数组,例如values.put(TIME_SPENT, new int[]{appUsageClass.getTimeSpent()});

标签: java android android-studio android-sqlite


【解决方案1】:

是的,因为 contentValues 中的 put 方法不支持 (int, int)。支持的方法请参考此链接https://developer.android.com/reference/android/content/ContentValues.html

【讨论】:

    【解决方案2】:

    ContentValues.put 的第一个参数是 String 不是 int。在这种情况下,您可能希望在数据库中使用要在其中存储返回值 getTimeSpent() 的列的名称,而不是任意字符串

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-03-30
      相关资源
      最近更新 更多