EditText ボックスに TextWatcher があります。ユーザーが入力すると、EditText Box にあるものをすべて Button ラベルとして設定します。
EditText et = rootView.findViewById(R.id.userInput);
et.addTextChangedListener(this);
...
@Override public void beforeTextChanged(CharSequence s, int start, int count, int after) {}
@Override public void afterTextChanged(Editable s) {}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
Button btn = (Button) rootView.findViewById(R.id.myButton);
btn.setText(s.toString());
//btn.setText("\u00A9");
}
しかし、ユニコード記号の書き方がわかりません。コメント行をコメント解除すると、Button
テキストが著作権記号 © に設定されます。ただし、EditText ボックスに同じ Unicode コードを入力しても機能しません。EditText に二重のバックスラッシュを入力しようとしましたが、まだうまくいきません。
注: これとは関係ありませんがbtn.setText(s)
、パーツなしで使用するtoString()
と、ボタン内のテキストに下線が引かれます。
明確 化いくつかのコメントと回答(現在は削除されています)のために、私は明確ではなかったことを認識しています。言い換えてみましょう:
ユーザー入力テキストに干渉したくありません。ユーザーがEditText に「Hello \u0089」と入力すると、次の行を使用して Button テキストにコピーします。
btn.setText(s.toString());
"Hello \u0089"と表示されます。私は「こんにちは‰」を期待していました。なんで?少しテストを実行して次の行を使用すると:
btn.setText("Hello \u0089");
「Hello ‰」と表示されます。では、ユニコードを直接アプローチでは正しく表示するが、EditText を介して入力すると表示されない違いは何ですか?