14
मैं सॉफ्ट कीबोर्ड पर कुछ सामान करना चाहता हूं कुंजी दबाएं। नीचे मेरा कोड और आउटपुट देखें। यह दो बार निष्पादित करता है, लेकिन मैं इसे केवल एक बार निष्पादित करना चाहता हूं। इसे कैसे जोड़ेंगे?सॉफ्ट कीबोर्ड कुंजी ईवेंट हैंडल दर्ज करें
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
txt = (EditText)findViewById(R.id.txt);
txt.setOnKeyListener(new OnKeyListener() {
@Override
public boolean onKey(View v, int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER) {
Log.e("test","--------- on enter");
return false;
}
return false;
}
});
}
शायद बजाय ACTION_UP के लिए जाना चाहिए, ताकि उपयोगकर्ता घटना मेरे अपने या उसकी उंगली को हटाने के रद्द कर सकते हैं? और उन लोगों के लिए KeyEvent.KEYCODE_DPAD_CENTER जोड़ें। – Kenneth
https://developer.android.com/reference/android/view/View.OnKeyListener.html: 'जब किसी हार्डवेयर कुंजी को दृश्य में भेजा जाता है तो कॉल किया जाता है।'। यह सॉफ्ट कीबोर्ड के लिए काम नहीं करेगा। – mbonnin
संपादन इनपुट टाइप करें = संपादन टेक्स्ट पर "टेक्स्ट", यह सॉफ्ट कीबोर्ड के लिए मेरे लिए काम करता है – SammyT