Ошибка при использовании Generic Dao в комнате с Java - PullRequest
0 голосов
/ 11 мая 2019

, когда я пытаюсь использовать Generic Dao в комнате Android, я получаю следующее сообщение об ошибке:

Невозможно использовать несвязанные шаблоны в методах запросов.Он должен быть привязан к типу через базовый класс Дао.

import android.arch.lifecycle.LiveData;
import android.arch.persistence.room.Dao;
import android.arch.persistence.room.Delete;
import android.arch.persistence.room.Insert;
import android.arch.persistence.room.RawQuery;
import android.arch.persistence.room.Update;

import java.util.List;

@Dao
public interface BaseDaoAccess<T> {
    @Insert
    Long Insert(T entity);

    @Update
    void Update(T entity);
    @Delete
    void Delete(T entity);

    @RawQuery
    LiveData<List<T>> RowQuery(String query);

}

1 Ответ

1 голос
/ 11 мая 2019

Из-за стирания типа Java не может сказать во время выполнения, что вы имеете в виду T. Вы можете предоставить эту информацию, создав подтип, который имеет T привязанный к определенному типу, например:

public interface CarDao extends BaseDaoAccess<Car> { }
...