पर पैरामीटर क्यों नहीं पारित कर सकता हूं मुझे पता है कि मैं एंड्रॉइड में गतिविधि कन्स्ट्रक्टर को पैरामीटर पास नहीं कर सकता, लेकिन मैं समझना चाहता हूं कि क्यों।मैं एंड्रॉइड गतिविधि कन्स्ट्रक्टर
मैं क्या करने की कोशिश की है:
CalorieSelectorActivity csa = new CalorieSelectorActivity(userName);
Intent i = new Intent(thisContext, csa.getClass());
startActivity(i);
मैं इस प्रकार वर्ग को परिभाषित किया है:
public class CalorieSelectorActivity extends Activity {
public CalorieSelectorActivity(String name) {
super();
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.calorieselector);
}
}
और यह पूरी तरह से काम करता है जब मैं निर्माता से पैरामीटर निकालें। मैंने अंततः यह intent.putExtra का उपयोग करके किया, लेकिन यह जानकर बहुत उत्सुकता है कि इसे कन्स्ट्रक्टर को पैरामीटर पास करके क्यों नहीं किया जा सकता है?
LogCat: जब आप कोशिश करते हैं और निर्माता फोन
02-04 06:46:52.257: W/dalvikvm(800): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
02-04 06:46:52.277: E/AndroidRuntime(800): FATAL EXCEPTION: main
02-04 06:46:52.277: E/AndroidRuntime(800): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.manarbushnaq.calorietracker/com.manarbushnaq.calorietracker.CalorieSelectorActivity}: java.lang.InstantiationException: com.manarbushnaq.calorietracker.CalorieSelectorActivity
02-04 06:46:52.277: E/AndroidRuntime(800): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.app.ActivityThread.access$2300(ActivityThread.java:125)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.os.Handler.dispatchMessage(Handler.java:99)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.os.Looper.loop(Looper.java:123)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.app.ActivityThread.main(ActivityThread.java:4627)
02-04 06:46:52.277: E/AndroidRuntime(800): at java.lang.reflect.Method.invokeNative(Native Method)
02-04 06:46:52.277: E/AndroidRuntime(800): at java.lang.reflect.Method.invoke(Method.java:521)
02-04 06:46:52.277: E/AndroidRuntime(800): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
02-04 06:46:52.277: E/AndroidRuntime(800): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
02-04 06:46:52.277: E/AndroidRuntime(800): at dalvik.system.NativeStart.main(Native Method)
02-04 06:46:52.277: E/AndroidRuntime(800): Caused by: java.lang.InstantiationException: com.manarbushnaq.calorietracker.CalorieSelectorActivity
02-04 06:46:52.277: E/AndroidRuntime(800): at java.lang.Class.newInstanceImpl(Native Method)
02-04 06:46:52.277: E/AndroidRuntime(800): at java.lang.Class.newInstance(Class.java:1429)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
02-04 06:46:52.277: E/AndroidRuntime(800): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
02-04 06:46:52.277: E/AndroidRuntime(800): ... 11 more
बीटीडब्ल्यू, क्या आप त्रुटि सामग्री कहीं भी डाल सकते हैं जहां हम जांच सकते हैं? पेस्टबिन या एक गिस्ट – DallaRosa
मुझे यह कैसे करना है इस पर कोई संकेत नहीं होगा। क्या मैं शायद लॉगकैट पोस्ट कर सकता हूं? @DallaRosa –
मैंने अपनी प्रतिक्रिया को उस सूचना को प्रतिबिंबित करने के लिए अपडेट किया जो मैंने नहीं देखा था जब मैंने पहली बार अपना प्रश्न पढ़ा था। – DallaRosa