2012-03-06 31 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