搜索之后,最后,我发现我应该使用接口将对象列表从活动传递到片段。 在此之前,我使对象类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
}
答案 0 :(得分:1)
您必须初始化对象:
CurrenciesSync currenciesSync = new CurrenciesSync() {
@Override
public void syncCurrencies(List<CurrencyModel> currencies) {
// your code
}
};
currenciesSync.syncCurrencies();
此声明CurrenciesSync currenciesSync;
创建一个null
CurrenciesSync
对象。