2012-03-06 35 views
0

我一直在努力將編輯文本值傳遞給一個字符串,以便我可以將輸入上傳到我的數據庫,但經過很多時間的工作後,我已經想出瞭如何通過按下鍵盤上的回車來完成此操作。我也有一個上傳字符串的按鈕,我只想要這個按鈕,因此上傳按鈕也會被輸入。是否可以將按鍵代碼分配給Android按鈕上的按鍵?

這裏是我的按鈕:

submit.setOnClickListener(new View.OnClickListener(){ 

      public void onClick(View v) { 

       postData(); 
      } 

     }); 

這裏是按鍵輸入命令:

enter.setOnKeyListener(new View.OnKeyListener() { 
       public boolean onKey(View view, int keyCode, KeyEvent event) { 
       if (keyCode == KeyEvent.KEYCODE_ENTER) { 
        name = enter.getText().toString(); 
        return true; 
       } 
       return false; 
       } 
      }); 

這裏是我使用所謂的名稱轉換後的字符串:

 nameValuePairs.add(new BasicNameValuePair("username", name)); 

所以我想擺脫用戶在按提交按鈕之前按Enter鍵的需要,所以按上傳wi我們將負責輸入按鍵代碼。我試着創建一個方法來模擬這個被按下但它沒有工作,研究沒有告訴我一個可能的方法來指派一個按鍵點擊按鈕。

任何建議,將不勝感激。

謝謝。

+0

爲什麼當你點擊屏幕上的按鈕,你不能得到的EditText價值?這與在Enter鍵上按下它並無不同。 – Egor 2012-03-06 10:13:37

+0

我試過這個,我把這個: name = enter.getText()。toString(); 進入提交按鈕,但有些原因值從來沒有傳遞給名稱,因爲它沒有提交任何內容,也許我正在編寫這個錯誤? – deucalion0 2012-03-06 10:21:37

回答

1

你可以試試這個執行按下按鈕

 enter.setOnKeyListener(new View.OnKeyListener() { 
       public boolean onKey(View view, int keyCode, KeyEvent event) { 
       if (keyCode == KeyEvent.KEYCODE_ENTER) { 
        name = enter.getText().toString(); 
       submit.performclick(); 
       return true; 
       } 
       return false; 
       } 
      }); 
+0

完美的工作!我將只顯示文本信息,通知用戶按Enter鍵,而不是立即顯示上載按鈕! 非常感謝!!!!!!! – deucalion0 2012-03-06 10:44:23