2つのEditTextが空でない場合にのみ、ボタンをアクティブに設定します。私はそれをTextWatcherを使用しようとするが、価格入力からすべてのテキストを消去しても、実際にはうまく動作しない - ボタンはアクティブのままである。ここに私のコードです:2つのeditTextが空でない場合、ボタンをアクティブに設定します。
final EditText titleEdit = findViewById(R.id.name);
final EditText priceEdit = findViewById(R.id.price);
final Button addButton = findViewById(R.id.add);
titleEdit.addTextChangedListener(new TextWatcher() {
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
if (!TextUtils.isEmpty(titleEdit.getText().toString().trim()) && !TextUtils.isEmpty(priceEdit.getText().toString().trim()))
addButton.setEnabled(true);
else addButton.setEnabled(false);
}
@Override
public void afterTextChanged(Editable s) {
}
});
私はいくつかの解決策をStackoverflowから試しましたが、それでも同じです。コードで何を変更すればよいですか?
あなたのエラーは何ですか –
私のアプリケーションを実行すると、ボタンは無効になります。私はtitleEditとpriceEditを埋める - ボタンはまだ無効です。その後、titleFieldにもう少し追加して、この瞬間のボタンだけが有効になります – Aldres
私の編集した答えを確認してください –