2015-02-09 31 views
1

我需要找到在EditText中插入的新字符是什麼。實際上,我使用TextChange Listener來查找文本框中新輸入的字符。例如,如果我一個一個地輸入單詞「Success」。我需要得到新輸入的字符。如果我在e旁插入X,我需要檢測X字符。Android:Edittext :: get在任何位置從鍵盤輸入的字符

請提供給我這樣做

回答

2

最好的解決方案我認爲你必須嘗試的EditText TextChangedListener用於控制文本

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    txtEdit = (EditText) findViewById(R.id.editText1); 
    viewText = (TextView) findViewById(R.id.text); 

    txtEdit.addTextChangedListener (new TextWatcher() { 

      public void beforeTextChanged(CharSequence s, int start, int count, int after) { 
       Log.i("TC", "beforeTC " + s.toString() + " " 
         + s.subSequence(start, start + count).toString()); 
      } 

      public void onTextChanged(CharSequence s, int start, int before, int count) { 
       Log.i("TC", "onTC " + s.toString() + " " 
         + s.subSequence(start, start + count).toString()); 
      } 

      public void afterTextChanged(Editable s) { 
       Log.i("TC", "afterTC " + s.toString()); 
      } 
    }); 
} 
0

您可以用文字觀察者的輸入。

public class MainActivity extends Activity implements TextWatcher 
{ 

    EditText gtex; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) 
    { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.main); 

     gtex=(EditText)findViewById(R.id.gtex); 
     gtex.addTextChangedListener(this); 
    } 

    @Override 
    public void afterTextChanged(Editable p1) 
    { 
     // TODO: Implement this method 
    } 

    @Override 
    public void beforeTextChanged(CharSequence p1, int p2, int p3, int p4) 
    { 
     // TODO: Implement this method 
    } 

    @Override 
    public void onTextChanged(CharSequence s, int a1, int a2, int a3) 
    { 


     if(a1+a2>=0&&(a1+a2<s.length())){ 
      char ch=s.charAt(a1+a2); 
     }; 

    //do stuff with ch 

    } 
}