アクティビティの 1 つに EditText オブジェクトがあります。キーボードに「完了」ボタンを挿入するコードを実装し、ユーザーの入力が完了したら非表示にしました。ただし、EditText オブジェクトにアタッチした最大長に達しても、テキストが自動返されないことに気付きました。このアプリの iPhone バージョンでは、テキスト ボックスに自動的に戻る「auto-return」という属性を設定できました。これを Android バージョンに実装したいのですが、実装していません。ノーハウ。ここに私が書いたコードがあります:
<EditText
android:id="@+id/editText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/textView1"
android:layout_centerHorizontal="true"
android:maxLength="10"
android:hint="@string/hint"
android:inputType="textImeMultiLine"
android:imeOptions="actionDone"
android:layout_marginTop="15dp"
android:gravity="center"/>
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_type_order);
getActionBar().setDisplayHomeAsUpEnabled(true);
editText1 = (EditText)findViewById(R.id.editText1);
editText1.setLines(10);
editText1.addTextChangedListener(new TextWatcher(){
@Override
public void afterTextChanged(Editable s) {
// TODO Auto-generated method stub
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count,
int after) {
// TODO Auto-generated method stub
}
@Override
public void onTextChanged(CharSequence s, int start, int before,
int count) {
// TODO Auto-generated method stub
InputMethodManager keyboard1 = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
keyboard1.hideSoftInputFromInputMethod(editText1.getWindowToken(), 0);
}
});