2011-11-22 19 views
12

के लिए दर्ज करें "" मैं आधिकारिक Android ट्यूटोरियल निम्नलिखित किया गया है और किसी भी तरह एक EditText के लिए दबाने दर्ज करें "" के बाद एक समारोह को निष्पादित करने के this very simple example के साथ एक समस्या हो रहा है दबाने के बाद समारोह को अंजाम।एंड्रॉयड EditText

मैं समझता हूँ कि मैं क्या और सब कुछ सेटअप ठीक है लगता करने वाला हूँ, लेकिन ग्रहण इस लाइन के साथ शिकायत कर रहा है:

The method setOnKeyListener(View.OnKeyListener) in the type View is not applicable for the arguments (new DialogInterface.OnKeyListener(){})

:

edittext.setOnKeyListener(new OnKeyListener() { 

यह त्रुटि के साथ setOnKeyListener को रेखांकित करता है और त्रुटि के साथ OnKeyListener को भी रेखांकित करता है:

The type new DialogInterface.OnKeyListener(){} must implement the inherited abstract method DialogInterface.OnKeyListener.onKey(DialogInterface, int, KeyEvent)

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

अग्रिम धन्यवाद।

+0

कुछ इस तरह इस प्रयोग के लिए मजबूर करने के लिए? http://stackoverflow.com/questions/4451374/use-enter-key-on-softkeyboard-instead-of-clicking-button/4451825#4451825 – AedonEtLIRA

उत्तर

13

जो मैं देख सकता हूं, ऐसा लगता है कि आपके पास गलत आयात है।

edittext.setOnKeyListener(new View.OnKeyListener() { 

प्रयास करें या यह आयात

import android.view.View.OnKeyListener; 

जोड़ सकते हैं और यह एक

import android.content.DialogInterface.OnKeyListener; 
+0

उत्कृष्ट, यह बताने के लिए धन्यवाद कि यह क्यों काम नहीं कर रहा था। मुझे अब से अपने आयात पर बहुत सावधान रहना होगा :) – user1060582

+0

यह मेरे लिए काम नहीं कर रहा है – saravanan

2

इंपोर्ट स्टेटमेंट है कि DialogInterface हटाएँ, तो आयात View.OnKeyListener

+1

सुंदर, बहुत बहुत धन्यवाद! कुछ भी इससे पहले मुझे CTRL + SHFT + O सीखने के लिए मिलता है। उत्तर देने वाले सभी लोगों के लिए धन्यवाद, यह साइट एक शानदार मदद है। – user1060582

49

एक कुंजीपटल घटना, एक दृश्य चाहिए ध्यान केंद्रित किया प्राप्त करने के लिए निकालें। उदाहरण में एक ही कोड के साथ जारी रखने

edittext.setFocusableInTouchMode(true); 
edittext.requestFocus(); 

उसके बाद:

edittext.setOnKeyListener(new View.OnKeyListener() { 
    public boolean onKey(View v, int keyCode, KeyEvent event) { 
     // If the event is a key-down event on the "enter" button 
     if ((event.getAction() == KeyEvent.ACTION_DOWN) && 
      (keyCode == KeyEvent.KEYCODE_ENTER)) { 
      // Perform action on key press 
      Toast.makeText(HelloFormStuff.this, edittext.getText(), Toast.LENGTH_SHORT).show(); 
      return true; 
     } 
     return false; 
    } 
}); 
+0

शानदार, धन्यवाद !!! मैं अंत में एंड्रॉइड प्रोग्रामिंग #boilerplate सीख रहा हूँ –

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^