如何使用Text Watcher获取(虚拟键盘中的Enter,Space,Clear按钮)的值

时间:2012-07-02 10:04:54

标签: android

我正在尝试获取空间值,输入,清除按钮但不成功 我也试图显示一个祝酒词,当我按下输入,空格,清除(其中一个) 它应该给我一条消息“输入按下”。 它应该只与VIRTUAL KEYBOARD一起发生。 我只获得字符值。喜欢“按下:A”

public void onCreate(Bundle savedInstanceState) 
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);

    et = (EditText)findViewById(R.id.entry);
    et.addTextChangedListener(this);


}
@Override
public void afterTextChanged(Editable s) 
{
    Toast.makeText(this,"Pressed : " +s.toString() ,Toast.LENGTH_LONG).show();

}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
        int after)
{

}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count)
{

}

1 个答案:

答案 0 :(得分:1)

将afterTextChanged(可编辑的)修改为:

@Override
public void afterTextChanged(Editable s) 
{
    String str = s.toString();
    if(str.substring(str.length()-1, str.length()).equals(" "))
            Toast.makeText(this,"Pressed : Space",Toast.LENGTH_SHORT).show();
    else if(str.substring(str.length()-1, str.length()).equals("\n"))
        Toast.makeText(this,"Pressed : Enter",Toast.LENGTH_SHORT).show();
    else
            Toast.makeText(this,"Pressed : " +str.substring(str.length()-1, str.length()),Toast.LENGTH_SHORT).show();
}

它将解决您的问题。