新问题的方法abaut这样:Android Studio Refresh ErrorAndroid Studio中调用片段从其他片段或活动
我想从另一个片段的片段叫Method
。我已经试过这个:
(Tab3Storage) (getSupportFragmentManager().findFragmentById(R.id.tab3storage)).Storagerefresh();
但我有一个NullPointerException
错误。我怎样才能使这个或调用窗体成为片段的活动,因为从片段到活动的调用已经很好。
代码:
主要活动:
public void refreshAll(){
Tab3Storage tab3Storage = new Tab3Storage();
tab3Storage.Storagerefresh();
Tab4Gravel tab4Gravel = new Tab4Gravel();
tab4Gravel.Gravelrefresh();
}
这是片段代码:
totalMoney = loadData("totalMoney");
totalMoneyDisplay.setText("$ " + totalMoney);
totalGravel = loadData("totalGravel");
totalGravelDisplay.setText(totalGravel + " Gravel");
Storage_Level = loadData("storageLevel");
if (Storage_Level == 0){
Storage_Level = 1;
}
if(Storage_Level == 1){
Storage_Capacity = Storage_Level1;
}
if(Storage_Level == 2){
Storage_Capacity = Storage_Level2;
}
if(Storage_Level == 3){
Storage_Capacity = Storage_Level3;
}
if(Storage_Level == 4){
Storage_Capacity = Storage_Level4;
}
saveData("storageLevel", Storage_Level);
Storage_Filled = totalGravel;
storageCapacityDisplay.setText(Storage_Filled + "/" + Storage_Capacity);
SellGravelButton.setText("Sell: $" + totalGravel);
storageUpgradebtn.setText("Level " + Storage_Level + ":\n$" + Storage_Capacity/2);
负载数据代码:
private long loadData(String name){
SharedPreferences shared = this.getActivity().getPreferences(Context.MODE_PRIVATE);
long value = shared.getLong(name, 0);
return value;
}
这工作得更好,但给我的这个错误:“显示java.lang.NullPointerException:尝试在调用虚拟方法android.content.SharedPreferences android.support.v4.app.FragmentActivity.getPreferences(INT)'空对象引用“ –
这与此问题有所不同。这与你的'SharedPreferences'有关。包括发生在哪里的代码 – Code
我把代码放在问题 –