我需要通過NewDateFragment和NewEventFrament之間的串CURDATE,我看到使用捆綁許多國家的人民,但使用這些我仍然有NullPointerException異常。傳遞字符串不使用活動
我將CalendarView轉換爲一個名爲curDate的字符串。
public class NewDateFragment extends Fragment {
public String curDate;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View view = inflater.inflate(R.layout.fragment_newdate,
container, false);
CalendarView calendar = (CalendarView) view.findViewById(R.id.calendarView);
//sets the listener to be notified upon selected date change.
calendar.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
@Override
public void onSelectedDayChange(CalendarView view, int year, int month, int day) {
curDate = day + "/" + month + "/" + year;
NewDateFragment fragment = new NewDateFragment();
Bundle bundle = new Bundle();
bundle.putString("date", curDate);
fragment.setArguments(bundle);
Log.d("Current Date:", curDate);
}
});
}
public class NewEventFragment extends Fragment {
// relative code inside onCreateView
Bundle b = getActivity().getIntent().getExtras();
final String dDate = b.getString("date");
}
我的logcat:
10-08 18:34:49.036 10293-10293/com.org.feedme.cisvmeeting.activities W/dalvikvm:線程ID = 1:螺紋與未捕獲的異常退出(組= 0x41640d88) 10-08 18:34:49.056 10293-10293/com.org.feedme.cisvmeeting.activities E/AndroidRuntime:致命異常:主 工藝:com.org.feedme.cisvmeeting.activities,PID: 10293 顯示java.lang.NullPointerException 在com.org.feedme.fragments.NewEventFragment.attemptCreate(NewEventFragment.java:116) 在com.org.feedme.fragments.NewEventFragment $ 1.onClick(NewEventFragment.java:61) 在android.view.View.performClick(View.java:4569) 在android.view.View $ PerformClick.run(查看.java:18570) at android.os.Handler.handleCallback(Handler.java:743) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java :Method.java:136) at android.app.ActivityThread.main(ActivityThread.java:5212) at java.lang.reflect.Method.invokeNative(Native Method) at java.lang.reflect.Method.invoke(Method.java: 515) 在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:786) 在com.android.internal.os.ZygoteInit.main(ZY goteInit.java:602) 在dalvik.system.NativeStart.main(本機方法)
感謝所有幫助!
究竟是什麼原因,你不想使用一個活動作爲中間人?如果這兩個片段緊密相關,那很可能它們是同一活動的片段,應該是這樣。 – nbokmans
在我的研究中,使用活動似乎很難,我該怎麼做? –
檢查我的答案。 – nbokmans