NullPointer异常,同时将值从活动传递给Interface方法并在android片段中检索

时间:2018-07-29 14:50:41

标签: android android-fragments android-activity

搜索之后,最后,我发现我应该使用接口将对象列表从活动传递到片段。 在此之前,我使对象类Perceilable可以作为fragment的参数发送,但是这似乎不是一个好方法,因为我必须在没有设置任何参数的情况下第一次初始化我的片段,并且在我的对象列表为准备好我可以通过了。 所以现在我想通过接口发送列表,但出现此错误:

java.lang.NullPointerException: Attempt to invoke interface method 'void com.x.x.Interfaces.CurrenciesSync.syncCurrencies(java.util.List)' on a null object reference
    at com.x.x.DashboardActivity$1.onResponse(DashboardActivity.java:124)

这是我的界面文件代码:

public interface CurrenciesSync {


public void syncCurrencies(List<CurrencyModel> currencies);

}

这是我在DashboardActivity中将货币列表设置为syncCurrencies方法的方法:

public class DashboardActivity extends AppCompatActivity {
        CurrenciesSync currenciesSync;

currenciesSync.syncCurrencies(currencies);     } 以及我如何实现它的方法:

public void syncCurrencies(List<CurrencyModel> currencies) {
 // using currencies here
}

1 个答案:

答案 0 :(得分:1)

您必须初始化对象:

    CurrenciesSync currenciesSync = new CurrenciesSync() {
        @Override
        public void syncCurrencies(List<CurrencyModel> currencies) {
           // your code    
        }
    };
    currenciesSync.syncCurrencies();

此声明CurrenciesSync currenciesSync;创建一个null CurrenciesSync对象。