android全局livedata,android-是否有可能使两个LiveData中的一个LiveData?

我有两个DAO,两个存储库和两个POJO.有什么方法可以创建两个Livedata?我需要它为Recyclerview制作一个清单.

POJO是相似的对象.

ExpenseRepository:

public class ExpenseRepository {

private ExpenseDao expenseDao;

private LiveData> allExpenses;

public ExpenseRepository(Application application) {

ExpenseIncomeDatabase database = ExpenseIncomeDatabase.getInstance(application);

expenseDao = database.expenseDao();

allExpenses = expenseDao.getExpensesByDay();

}

public LiveData> getAllExpensesByDay() {

return allExpenses;

}

收入库:

public class IncomeRepository {

private IncomeDao incomeDao;

private LiveData> allIncomes;

public IncomeRepository(Application application) {

ExpenseIncomeDatabase database = ExpenseIncomeDatabase.getInstance(application);

incomeDao = database.incomeDao();

allIncomes = incomeDao.getIncomesByDay();

}

public LiveData> getAllIncomesByDay() {

return allIncomes;

}

费用:

@Dao

public interface ExpenseDao {

@Query("SELECT * FROM expense_table ORDER BY day")

LiveData> getExpensesByDay();

IncomeDao:

@Dao

public interface IncomeDao {

@Query("SELECT * FROM income_table ORDER BY day")

LiveData> getIncomesByDay();

public class DailyFragmentviewmodel extends Androidviewmodel {

private ExpenseRepository expenseRepository;

private IncomeRepository incomeRepository;

private LiveData,List>> combined;

private ExpenseDao expenseDao;

private IncomeDao incomeDao;

public DailyFragmentviewmodel(@NonNull Application application) {

super(application);

expenseRepository = new ExpenseRepository(application);

incomeRepository = new IncomeRepository(application);

combined = new DailyCombinedLiveData(expenseDao.getExpensesByDay(),incomeDao.getIncomesByDay());

}

public LiveData,List>> getExpensesAndIncomes() {

return combined;

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值