我无法编译以下代码:
public long create (Context mContext, ContentValues rights)
{
Long id;
Uri mNewOwner = mContext.getContentResolver().insert(
this.getMyUri(),
rights);
id = ContentUris.parseId(mNewOwner);
this.setID(id);
this.setMyUri(ContentUris.withAppendedId(CONTENT_URI, id));
return id;
}
public void update(Context mContext)
{
ContentValues updatedValues = new ContentValues();
updatedValues.put(Game2user.FIELD_RIGHTS_POWER, this.getRightPower());
updatedValues.put(Game2user.FIELD_RIGHTS_EVENT, this.getRightEvent());
updatedValues.put(Game2user.FIELD_RIGHTS_RULE, this.getRightRule());
updatedValues.put(Game2user.FIELD_RIGHTS_USER, this.getRightUser());
updatedValues.put(Game2user.FIELD_RIGHTS_GAME, this.getRightGame());
updatedValues.put(Game2user.FIELD_IS_PLAYER, this.getIsPlayer());
Uri mUpdatedObject = mContext.getContentResolver().update(
this.getMyUri(),
updatedValues,null,null);
}
Uri mUpdatedObject给了我一个错误Incompatible types - Required: android.net.Uri, found: int.
。我不明白为什么/它在哪里看到一个int因为getMyUri返回一个Uri ......
public Uri getMyUri() {
return myUri;
}
答案 0 :(得分:1)
这是因为最终调用的方法是更新(Uri,ContentValues,String,String []),它返回一个表示更新行数的int。您的方法在update方法中作为参数传递。