2009-12-29 14 views
23

सवाल काफी सरल है। लेकिन मैं जानना चाहता हूं कि हम वास्तव में गुई तत्वों के संदर्भ कहां बनाते हैं? के रूप में, जिसमें परिभाषित करने के लिए सबसे अच्छी जगह है:एडिटटेक्स्ट से टेक्स्ट कैसे प्राप्त करें?

final EditText edit = (EditText) findViewById(R.id.text_xyz); 
edit.getText().toString(); 

जब मैं यह डिफ़ॉल्ट अंदर कर OnCreate() मैं शून्य मान पाने का प्रयास करें। तो सर्वोत्तम अभ्यास के लिए, क्या आप main.xml में इन पहले से परिभाषित गुई तत्वों को संदर्भित करने के लिए एक अलग वर्ग की अनुशंसा करते हैं। यहां से हम इन तत्वों के विभिन्न तरीकों जैसे गेटटेक्स्ट या सेटटेक्स्ट को कॉल कर सकते हैं?

+2

'edit.getText()। ToString()' – luckylukein

उत्तर

17

अच्छा, यह आपकी आवश्यकताओं पर निर्भर करता है। प्रायः मैं गतिविधि में विजेट (कक्षा वर्ग के रूप में) में अपने संदर्भ रखता हूं - और उन्हें onCreate विधि में सेट करता हूं। मुझे लगता है कि यह एक अच्छा विचार है
शायद आपके नल के कारण यह है कि आप अपने onCreate() विधि में contentView() सेट करने से पहले findViewById() पर कॉल करने का प्रयास कर रहे हैं - कृपया इसे जांचें।

13

यदि आप इसे setContentView() विधि कॉल से पहले कर रहे हैं, तो मान शून्य हो जाएंगे।

इस अशक्त में परिणाम होगा:

super.onCreate(savedInstanceState); 

Button btn = (Button)findViewById(R.id.btnAddContacts); 
String text = (String) btn.getText(); 

setContentView(R.layout.main_contacts); 

जबकि इस तरीके से कार्य करेंगे:

super.onCreate(savedInstanceState); 
setContentView(R.layout.main_contacts); 

Button btn = (Button)findViewById(R.id.btnAddContacts); 
String text = (String) btn.getText(); 
1
String fname = ((EditText)findViewById(R.id.txtFirstName)).getText().toString(); 
String lname = ((EditText)findViewById(R.id.txtLastName)).getText().toString(); 
((EditText)findViewById(R.id.txtFullName)).setText(fname + " "+lname); 
23

आपकी समस्या का सबसे तेज समाधान मेरा मानना ​​है कि यह है कि आप बस पर लापता कोष्ठक हैं अपने getText। बस ()edit.getText().toString() पर जोड़ें और इसे हल करना चाहिए

3

setContentView() विधि के बाद निम्न रखें।

final EditText edit = (EditText) findViewById(R.id.Your_Edit_ID); 
String emailString = (String) edit.getText().toString(); 
Log.d("email",emailString); 
संबंधित मुद्दे