2011-09-07 102 views
3

當我點擊softkeyboard我的鍵盤getdown或隱藏,但我想要去下一個活動,當我點擊android鍵盤上的「完成」按鈕。那麼該怎麼做呢?當我點擊softkeybord上的「完成」按鈕如何去下一個活動android

和我的下一個qus是,如果我在我的佈局中有2個編輯框,當我點擊第一個編輯框,然後在我的軟鍵盤上,「next」會出現在下一個文本框中,當我轉到第二個文本框時改爲「完成」。 在此先感謝....

X

回答

5

它是最好添加在佈局一些按鈕,所有Android手機不使用時imeoptions提供一致的行爲。

這似乎是一個錯誤。不同的製造商爲他們的手機制作了一個定製的鍵盤,它可能不完全像android標準鍵盤那樣工作。這個問題之前已經提出過。大多數人通過過度使用onKey事件或使用TextWatcher類來解決此問題。一個錯誤已經提交關於這個

http://code.google.com/p/android/issues/detail?id=2882

您可以使用偵聽器來檢查imeoptions

incomeInput.setOnEditorActionListener(new EditText.OnEditorActionListener() { 
     @Override 
     public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 
      if (actionId == EditorInfo.IME_ACTION_DONE){ 
        //Do your stuff here 
        return true; // mark the event as consumed 
       } 
      return false; 
      } 
} 
+0

是不是可以通過點擊Android的軟kayboard「完成」按鈕,進入下一個活動類實際上我想打開兩個選項表示用戶可以選擇任何一個要麼?從佈局完成button.so的鍵盤如何做軟鍵盤? – shyam

+0

我更新了我的答案。只是保持一個替代如果imeoptions不工作 – blessenm

+0

不工作:(實際上我已經改變了android軟鍵盤按鈕到「下一步」使用android:imeOptions =「actionNext」,我想當我點擊它去下一個活動,但下一步按鈕我想用於下一個編輯文本框在Android所以如何去下一個活動點擊下一個在軟鍵盤?謝謝 – shyam

0

使用setOnKeyListener與你的第二個EditText上,並在安其方法做這樣的事情。

@Override 
public boolean onKey(View v, int keyCode, KeyEvent event) 
{  
    // TODO Auto-generated method stub 
    if(keyCode == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN) 
    performYourAction();  

    return false; 
} 

我希望它對你有幫助。

+0

嘿,我們如何才知道它只用於完成按鈕按軟鍵盤上? – shyam

+0

不工作:(實際上,我已經改變了Android軟鍵盤按鈕到「下一步」使用android:imeOptions =「actionNext」,我希望當我點擊它去下一個活動,但下一步按鈕,我認爲使用下一個編輯文本框在Android中,所以如何去下一個活動點擊下一個軟鍵盤?謝謝 – shyam

+0

尋找下一個鍵的keyCode像在KeyEvent.KEYCODE_ENTER或者我認爲你應該讓Button成爲它,然後嘗試。 – AB1209

1

您需要實現OnEditorActionListener接口。

代碼如下所示:

public class Main extends Activity implements OnEditorActionListener { 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main1); 
} 

public boolean onEditorAction(TextView v, int actionId, KeyEvent event) { 

    if (actionId == EditorInfo.IME_ACTION_DONE) { 
     startActivity(new Intent()); 
     return true; 
    } 
    return false; 
}} 
+0

否工作:(實際上我已經改變了Android軟鍵盤按鈕到「下一步」使用android:imeOptions =「actionNext」 ,我想當我點擊它去下一個活動,但下一步按鈕,我認爲用於轉到下一個編輯文本在android中,所以如何去下一個活動點擊下一個軟鍵盤?謝謝 – shyam

+0

使用此代碼..... if(actionId == EditorInfo.IME_ACTION_NEXT){ startActivity(new Intent()); 返回true; } –

+0

沒有任何效果,當我點擊軟件鍵盤上的「完成」按鈕上的Android模擬器,除非它下降,當我點擊它,爲什麼?意味着爲什麼它不投擲到其他有趣的手段作爲簡單的用戶界面按鈕工作請幫助... – shyam

相關問題