館内エラー:わからないinsertメソッドの戻り値の型を処理する方法

ポーラー:

これは、新しく挿入された行のIDを取得する方法ですが、私は、それを得ることはありません。

DAO

@Dao
public interface AlarmDao {

    .....

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    long insertAll(AlarmEntity...alarms); //used long instead of void
}

エンティティ

@Entity(tableName = "tb_alarm")
public class AlarmEntity {

    @PrimaryKey(autoGenerate = true)
    private long id;

    ...

    public long getId(){
        return this.id;
    }
}

しかし建物は失敗していると私は私に向いているエラー取得していDaoたクラスを、エラーは次のとおりです。

エラー:わからないinsertメソッドの戻り値の型を処理する方法。

私はそれについて逃したのですか?

黒帯 :
AlarmEntity...alarms

これは、複数の挿入に変換します。だから、戻り値の型は、あるべきList<Long>long[]、そしてそれが理にかなっています。あなたは二つのアイテムを渡すと次の2つのID、各新しく挿入された行のための1つを取得します。

あなたが一度に1つのアイテムを挿入したい場合は、削除varargs...)を。例えば

@Insert
long insert(AlarmEntity alarms);

おすすめ

転載: http://43.154.161.224:23101/article/api/json?id=231345&siteId=1