2012-09-07 101 views
0

每個人我都遇到將日曆從日期傳遞到我的Create_Event.class的問題。最初textView顯示「文本」,然後當我點擊「選擇日期」按鈕時,日曆頁面將顯示,日期應該被傳遞給最初顯示「文本」的textView。我嘗試使用intent.putExtra將日期從日曆頁面傳遞到Create_Events頁面,但由於NullPointerException,我得到了強制關閉錯誤。任何人都可以幫我解決這個問題嗎?非常感謝。從日曆中選擇日期後傳遞日期

作爲參考,代碼:

Calendar.java

@Override 
       public void onClick(View view) 
       { 
        String date_month_year = (String)view.getTag(); 
        selectedDayMonthYearButton.setText(new StringBuilder().append("Selected:").append(date_month_year)); 

        Intent k = new Intent(Calendar_Event.this, Create_Events.class); 
        k.putExtra("passdate", date_month_year); 
       startActivity(k); 

Create_Event.java

Intent intent = this.getIntent(); 
     if(intent == null) 
     { 
     String strdata = intent.getExtras().getString("passdate"); 
     TextView txtDate = (TextView) findViewById(R.id.textDate); 
     txtDate.setText(strdata); 
     } 
     else 
     { 

     } 

***本來如果(意向== NULL)是如果(意向!= null),我認爲改變它會工作,但事實並非如此。 :P

更新了logcat的:

09-07 12:03:28.177: E/AndroidRuntime(1033): FATAL EXCEPTION: main 
09-07 12:03:28.177: E/AndroidRuntime(1033): java.lang.RuntimeException: Unable to start activity ComponentInfo{main.page/main.page.Create_Events}: java.lang.NullPointerException 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1956) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.ActivityThread.access$600(ActivityThread.java:123) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.os.Handler.dispatchMessage(Handler.java:99) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.os.Looper.loop(Looper.java:137) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.ActivityThread.main(ActivityThread.java:4424) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at java.lang.reflect.Method.invokeNative(Native Method) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at java.lang.reflect.Method.invoke(Method.java:511) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at dalvik.system.NativeStart.main(Native Method) 
09-07 12:03:28.177: E/AndroidRuntime(1033): Caused by: java.lang.NullPointerException 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at main.page.Create_Events.onCreate(Create_Events.java:261) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.Activity.performCreate(Activity.java:4465) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) 
09-07 12:03:28.177: E/AndroidRuntime(1033):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1920) 

enter image description hereenter image description here

任何幫助將不勝感激!再次感謝。

更新時間:

Bundle bundle = getIntent().getExtras(); 
    if(bundle != null) 
    { 

     String date = bundle.getString("date"); 
     TextView txtDate = (TextView) findViewById(R.id.textDate); 
     txtDate.setText(date);   
    } 
+0

您會在哪裏得到錯誤?你能發佈logcat錯誤嗎? –

+0

我想要打開Create_Events頁面時出現錯誤。 nullPointerException錯誤將出現在上面的代碼行onCreate上。 – CallMyName

+0

行數261行Create_Events.java:261? –

回答

0

使用捆綁在Create_Events活動獲取日期。在傳遞數據之前,您首先需要檢查它是否爲空。

Bundle bundle = getIntent().getExtras(); 

if(bundle != null) 
{ 
    String date = bundle.getString("passdate"); 
} 

捆綁一般使用關於各種活動之間傳遞數據。它 取決於你想要通過什麼類型的值,但捆綁可以 保存所有類型的值並傳遞給新的活動。