1

スペース、Enter、クリアボタンの値を取得しようとしていますが、成功しませんでした。トーストメッセージも表示しようとしています。Enter、スペース、クリア(そのうちの1つ)を押すと、「Enterキーを押しました」というメッセージが表示されます。 。そしてそれは仮想キーボードでのみ起こるはずです。文字値のみを取得しています。「Pressed: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)
{

}
4

1 に答える 1

1

afterTextChanged(Editable s)を次のように変更します。

@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();
}

そしてそれはあなたの問題を解決します。

于 2012-07-02T11:04:29.757 に答える