मैं एक ऐप बना रहा हूं जो इसमें चैट कार्यक्षमता प्रदान करता है। स्क्रीन में एक संपादन टेक्स्ट है, जिस पर मैंने ऑनके लिस्टनर सेट किया है। जब भी संदेश टाइप करने के बाद उपयोगकर्ता "एंटर" कुंजी दबाता है, तो संदेश स्क्रीन पर पोस्ट किया जाता है। यह बढ़िया काम करता है। जब उपयोगकर्ता नई लाइन पर जाने के लिए पहले EditText पाठ लपेटता है और नई लाइन को जाता है चाहता हैएडिटटेक्स्ट में जानबूझकर नई लाइन पर कैसे जाना है?
<EditText android:id="@+id/chatMessageField"
android:layout_height="wrap_content" android:layout_width="fill_parent"
android:layout_gravity="center_horizontal|center_vertical"
android:layout_marginRight="5dip" android:layout_marginLeft="5dip"
android:maxLines="2" android:minLines="1" android:scrollbars="vertical"
android:hint="@string/chatMessageHintText" android:textColorHint="#3b64a8">
</EditText>
समस्या है: यहाँ मेरी EditText है। अब यदि उपयोगकर्ता नई लाइन पर जाना चाहता है और "एंटर" कुंजी दबाता है, तो संदेश भेजा जाता है।
कुछ चैट मैसेन्जर में, मैंने देखा है कि "Shift + Enter" (या कोई अन्य कुंजी संयोजन) दबाकर उपयोगकर्ता को नई लाइन पर ले जाता है। हम एंड्रॉइड में एक साथ दबाए गए "Shift + Enter" (या कोई अन्य कुंजी-संयोजन) कुंजी का पता कैसे लगा सकते हैं? एंड्रॉइड में इस कार्यक्षमता को हासिल करने का कोई तरीका है?
मैं कैसे शिफ्ट के लिए जाँच करेगा और बटन दर्ज करें simultan क्लिक किया eously? कोई कोड स्निपेट? –
'अगर ((event.getAction() == KeyEvent.ACTION_DOWN) \t \t 0& (keyCode == KeyEvent।KEYCODE_ENTER)) { \t \t \t // आपके संदेश कार्यक्षमता \t \t \t वापसी सच; } else अगर ((event.getAction() == KeyEvent.ACTION_DOWN) \t \t \t && (कीकोड == KeyEvent.KEYCODE_ENTER \t \t \t \t \t && कीकोड == (KEYCODE_SHIFT_LEFT || KEYCODE_SHIFT_RIGHT))) { ///आपकी नई लाइन कार्यक्षमता सत्य वापस आती है; } '
कोड संकलित नहीं है, कार्यक्षमता के लिए प्रस्तुत वाक्यविन्यास त्रुटि हो सकती है। शिफ्ट के बजाय, आप 'नई लाइन' कार्यक्षमता ' – Chand51
कुंजीइवेंट और लंबी प्रेस ईवेंट के लिए' लॉन्गप्रेस फॉर एंटर 'के साथ-साथ लॉन्गप्रेस फॉर एंटर का उपयोग कर सकते हैं, http://developer.android.com/reference/android/view/KeyEvent.html – Chand51