2017-06-11 5 views
1

eingeben Wenn Benutzer auf das Feld klicken und die Tastatur kommt durch Drücken der Taste Enter/Go, ich möchte meinen eigenen Wert in das Feld eingeben, anstelle der Systemtastatur. Ich möchte dies im Hintergrund meiner App tun, und füllen Sie die Felder anderer Apps.Wie über die Tastatur programmgesteuert in Android

Ist es möglich, oder ich bin ein gieriger Mann ?! :)

Antwort

0

Ja, es ist möglich, Sie sind nicht gierig: P

Sie onKeyListener() auf jedem Ihrer EditText Felder hinzufügen können. Es wird auf jeden Tastenanschlag von Ihnen Benutzer hören und sobald Benutzer Enter drücken, können Sie Ihre erforderliche Logik durchführen.

final EditText edittext = (EditText) findViewById(R.id.edittext); 

edittext.setOnKeyListener(new 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)) { 

      Toast.makeText(MyExampleActivity.this, "enter is pressed", Toast.LENGTH_SHORT).show(); 
      return true; 

     } 
     return false; 
    } 
}); 
+0

Eigentlich mag ich das im Hintergrund tun (mit 'AccessibilityService'), nicht in einem' activity', und ich habe nicht 'EditText' Beispiel nur' AccessibilityNodeInfo'! – YUSMLE

Verwandte Themen