दिलचस्प पोस्ट
Yii फ्रेमवर्क में सीएसएस, जावास्क्रिप्ट फ़ाइल शामिल करें mysql एसक्यूएल: विशेष आइटम को पहले और फिर बाकी मदों को सॉर्ट करने के लिए Xcode संपादक में फ़ॉन्ट आकार कैसे बढ़ाएं? चर गहराई के साथ मल्टी लेवल डिफॉल्ट चेकबॉक्स के साथ एक WPF कॉम्बो बॉक्स की तलाश में Google ड्राइव PHP API – सरल फ़ाइल अपलोड अक्षम टेक्स्ट बॉक्स का फ़ॉन्ट रंग कैसे बदल सकता है? पावरलेल लॉग ऑफ़ रिमोट सत्र php में संबंधित नेस्टेड टर्नेरी ऑपरेटर? विजुअल स्टूडियो 2015 जेएसएक्स / ईएस2015 सिंटैक्स हाइलाइटिंग कोड के साथ समस्या: प्रारूप स्ट्रिंग स्ट्रिंग का शाब्दिक नहीं है पृष्ठभूमि संगीत एंड्रॉइड एक्सएचटीएमएल स्व-निहित टैग को छोड़कर RegEx मैच खुली टैग कैसे openshift आवेदन में डेटाबेस से कनेक्ट करने के लिए जावास्क्रिप्ट विंडो। केवल तभी खिड़की मौजूद नहीं है

क्यों कक्षा के आरंभ में FindViewById (आरआईआईडी। ******) के साथ चरम आरंभ करने के लिए एंड्रॉइड ऐप क्रैश हो जाता है?

मैं सिर्फ इनपुट / आउटपुट का परीक्षण कर रहा था, कोई विशेष उद्देश्य नहीं था, यह अंतिम कोड है जो सफलतापूर्वक चलाया था:

public class MainActivity extends AppCompatActivity { /* EditText username = (EditText)findViewById(R.id.editText_Username); EditText password = (EditText)findViewById(R.id.editText_Password); TextView inputdata = (TextView)findViewById(R.id.textView_InputData); TextView welcome = (TextView)findViewById(R.id.textView_Welcome); Button login=(Button)findViewById(R.id.button_Login); Button anotherLogin=(Button)findViewById(R.id.button_Login_Another); public void doLoginOnClick(View v) { String s1=username.getText().toString(); inputdata.setText(s1); } */ @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar); setSupportActionBar(toolbar); FloatingActionButton fab = (FloatingActionButton)findViewById(R.id.fab); fab.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG) .setAction("Action", null).show(); } }); } } 

मैं घटक का उपयोग कर आईडी को पकड़ने की कोशिश कर रहा हूं

findViewById(R.id.***)

जैसा कि आप देख सकते हैं, मैंने कोड की शुरुआत में इस कोड को टिप्पणी में डाल दिया।

 EditText username = (EditText)findViewById(R.id.editText_Username); EditText password = (EditText)findViewById(R.id.editText_Password); TextView inputdata = (TextView)findViewById(R.id.textView_InputData); TextView welcome = (TextView)findViewById(R.id.textView_Welcome); Button login=(Button)findViewById(R.id.button_Login); Button anotherLogin=(Button)findViewById(R.id.button_Login_Another); 

अगर मैं उपरोक्त टिप्पणी को निकालता हूं और इसे चलाने (दोनों एमुलेटर और वास्तविक उपकरण में), कार्यक्रम तुरंत क्रैश हो जाता है, मुझे आश्चर्य है कि यहां क्या गलत है?

यहां तक ​​कि मैंने कंस्ट्रक्टर का उपयोग करके एक ही चीज़ को प्रारंभ करने की कोशिश की है।

लेकिन अगर मैं इसे अंदर डाल देता हूं onCreate() कोई दुर्घटना नहीं है? क्यूं कर?

मैं उपयोगकर्ता नाम और पासवर्ड की जानकारी लाने की कोशिश कर रहा हूं और इसे textview में textview में प्रदर्शित करने के लिए कोशिश कर रहा हूं

 EditText username = (EditText)findViewById(R.id.editText_Username); EditText password = (EditText)findViewById(R.id.editText_Password); TextView inputdata = (TextView)findViewById(R.id.textView_InputData); inputdata.setText(username.getText.toString()+" "+password.getText.toString()); 

क्या ऐसा करने के लिए बेहतर या आसान तरीका है?

Solutions Collecting From Web of "क्यों कक्षा के आरंभ में FindViewById (आरआईआईडी। ******) के साथ चरम आरंभ करने के लिए एंड्रॉइड ऐप क्रैश हो जाता है?"

इंस्टेंस सदस्य चर initialized जब उदाहरण खुद को शुरू किया जाता है। यह findViewById() लिए बहुत जल्दी है findViewById()

onCreate() से पहले आपकी गतिविधि के पास Window नहीं है जो कि findViewById() को आंतरिक रूप से findViewById() setContentView() (इससे पहले कि आप को onCreate() में कॉल करना चाहिए) कोई भी विचार नहीं मिल पाएंगे या तो

इसलिए onCreate() में अपने दृश्य संदर्भों को सेट करें और setContentView() बाद।

इस कोड को जोड़ें

 `EditText username = (EditText)findViewById(R.id.editText_Username); EditText password = (EditText)findViewById(R.id.editText_Password); TextView inputdata = (TextView)findViewById(R.id.textView_InputData); TextView welcome = (TextView)findViewById(R.id.textView_Welcome); Button login=(Button)findViewById(R.id.button_Login); Button anotherLogin=(Button)findViewById(R.id.button_Login_Another);` 

setContentView के बाद onCreate () विधि में (R.layout.activity_main)

हे मैं देख रहा हूँ कि आप आवृत्ति चर को परिभाषित और आरंभ कर रहे हैं। मैं क्या करता हूं मैं उदाहरण के चर को परिभाषित करता हूं – EditText username और फिर username = (EditText) findViewById(R.id.editText_Username); विधि में मैं उन्हें आरंभ – username = (EditText) findViewById(R.id.editText_Username);

इसका कारण है कि आप आवृत्ति चर को setContentView नहीं करते हैं, क्योंकि तत्वों को सेट setContentView दौरान तैयार करने के लिए तैयार नहीं onCreate विधि पर – मैं इस के साथ गलत हो सकता है, लेकिन मेरा सबसे अच्छा अभ्यास आवृत्ति चर को परिभाषित करता है और फिर उन्हें onCreate विधि में प्रारंभ करें

SetContentView () सेट करने से पहले आप दृश्य आइटम को इनिशियलाइज़ करने में सक्षम नहीं हैं.क्योंकि उस समय की गतिविधि के लिए दृश्य मौजूद नहीं होगा

प्रारंभिकताओं को एक अलग विधि में रखें और गतिविधि को देखने के बाद विधि को कॉल करें।