Dialogボタンの変更

2728 ワード

Dialog入力値に関連するボタンの有効化、無効化
顧客分類の理解と適用
テーマの色に基づいてボタンの色の不一致を解決する方法を学びました.
まず、Dialog入力値に基づいてボタンを有効または無効にします.


ボタンを無効にする機能を持つ既存のCustom Dialog関数(上記のように)を使用してロードします.
//Dialog 호출 HideButtons 사용X
        DialogManager.getInstance().showDialog(context, childView, true);
確認ボタンでclicklistenerを使用してイベントをpreferenceに関連付ける
//확인버튼 클릭리스너와 Preference 데이터 삽입
        btn_confirm.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Log.d("case4", et_index.getText().toString());
                AppPreferenceManager.getInstance(context).setCustomScan(chkUse.isChecked());
                AppPreferenceManager.getInstance(context).setScanIndex(Integer.valueOf(et_index.getText().toString()));
                AppPreferenceManager.getInstance(context).setScanDivider(et_divider.getText().toString());
                success.onClick(null);
                DialogManager.getInstance().allDismiss();
            }
        });
success.onClick(null); アクティブなデバイスに変更した値を再読み込みするには、を使用します.
allDismissを消した.
次に、適切な値が入力されていない場合に確認ボタンを無効にするコードを示します.
TextWaterを使用しました.
//ボタンリスナーのキャンセル
btn_cancel.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
DialogManager.getInstance().allDismiss();
}
});
        //텍스트워처 index 입력값 확인 후 확인 버튼 활성화 및 비활성화
        et_index.addTextChangedListener(new TextWatcher() {
            @Override
            public void beforeTextChanged(CharSequence charSequence, int i, int i1, int i2) {

            }

            @Override
            public void onTextChanged(CharSequence charSequence, int i, int i1, int i2) {
                if (chkUse.isChecked() && (TextUtils.isEmpty(et_index.getText().toString()) || (TextUtils.isEmpty(et_divider.getText().toString())))) {
                    btn_confirm.setEnabled(false);
                } else if (!chkUse.isChecked()) {
                    btn_confirm.setEnabled(true);
                } else {
                    btn_confirm.setEnabled(true);
                }
            }

            @Override
            public void afterTextChanged(Editable editable) {
            }
        });
確認ボタンが無効になっています.
setEnabled関数が使用されています.
ボタンの余白が問題なので、もう一度探してみます.よく見えない.
ボタンの色の部分は既存のボタンの色に沿っているので、色コードが同じであっても異なる色で現れて困ってしまいます.