4

私のフォームでは、CeckBoxがあり、送信するにはチェックする必要があります。チェックされていない場合は、setError()を呼び出してユーザーに警告します。ただし、エラーが表示されると、チェックボックスがオンになっているかどうかに関係なく、エラーは消えません。その他のバグは、エラーテキストが非常に長い場合、不完全に見えることです。ランドスケープモードでは、完全に表示されます。

チェックボックスxml:

<CheckBox 
        android:id="@+id/reg_terms"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Li e concordo com os Termos de Uso."
        android:focusableInTouchMode="true"
        android:focusable="true"
        android:textColor="#000000"
        android:checked="false"
        />

検証(submitButtonsのonClick内):

if(!reg_terms.isChecked()){
  reg_terms.setError("É preciso aceitar os Termos de Uso");
  validation = false;
  }

ユーザーがチェックボックスをオンにした場合にエラーを「却下」するために使用できる「addOnFocusChangedListener」メトホットはありませんか?そして、どうすればエラーテキストが不完全に見えるのを避けることができますか?

VieledankefüralleHilfe。:D

4

1 に答える 1

7

エラーをクリアする限り、次のようにOnCheckedChangeListenerを追加できます。

reg_terms.setOnCheckedChangeListener(new OnCheckedChangeListener() {
    public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        if ( isChecked ) {
            reg_terms.setError(null);
        } else {
            reg_terms.setError("É preciso aceitar os Termos de Uso");
        }
    }
});

個人的には、文字列をR.stringsにも抽出し、XMLとコードで参照します。

テキストの折り返しについてはreg_terms.setMaxLines(2)、コードに追加して、テキストが最大2行まで入力できるようにしてください。これが機能するかどうかはわかりませんが、試してみる価値はあります。

于 2012-05-30T15:50:27.663 に答える