从活动调用微调器到Adapter类

时间:2018-06-26 16:21:21

标签: android

因此,我有一个由货币组成的微调框,并且我想在布局中显示正确的所选货币。这是示例。因此,我需要微调器进行其他活动,我的问题是如何从

中获取微调器。
  

ExpenseActivity

到我的ExpenseAdapter

  @Override
    public void onBindViewHolder(GeneralViewHolder holder, int position) {
        if (getItemViewType(position) == -1) {
            MonthSummaryCard holder1 = (MonthSummaryCard) holder;
            holder1.setWalletAmountView(" $" + Double.valueOf(walletBalance).toString());
            holder1.setTotalExpensesPerMonth(" $" + Double.valueOf(totalExpenseAmount).toString());

我想输入所有不同的币种而不是输入美元符号。

2 个答案:

答案 0 :(得分:0)

您的问题尚不清楚,但我了解的是: 您可以将微调器实例传递给适配器,并抛出适配器构造函数,然后可以在onBindViewHolder()内部更改其属性

答案 1 :(得分:0)

您可以尝试简单地为适配器类创建一个辅助构造函数,在其中传递微调器的结果...即

String currencyType = mySpinner.getSelectedItem().toString();
ExpenseAdapter expenseAdapter = new ExpenseAdapter(... , currencyType);

然后在您的ExpenseAdapter构造函数中...

this.currencyType = currencyType;

以及您上面的代码...

@Override
public void onBindViewHolder(GeneralViewHolder holder, int position) {
    if (getItemViewType(position) == -1) {
        MonthSummaryCard holder1 = (MonthSummaryCard) holder;
        holder1.setWalletAmountView(currencyType + Double.valueOf(walletBalance).toString());
        holder1.setTotalExpensesPerMonth(currencyType + Double.valueOf(totalExpenseAmount).toString());