我setOnCheckedChangeListener为我实施了checkbox
有没有办法可以打电话
checkbox.setChecked(false);
Run Code Online (Sandbox Code Playgroud)
没有触发 onCheckedChanged
我有一个EditText带有客户文本观察器的字段.在一段代码中,我需要更改我使用的EditText中的值.setText("whatever").
问题是,一旦我进行了更改,afterTextChanged调用的方法就会创建一个无限循环.如何在不触发afterTextChanged的情况下更改文本?
我需要在afterTextChanged方法中的文本,所以不建议删除TextWatcher.
我一直在尝试使用 EditText 获得特定行为。这是我启用旋转的简单活动。当我输入一些文本时,
onTextChanged方法被触发。
当我旋转手机,这种方法不应该被触发,bacause的文字,这是保存在onInstanceState已被设置为EditText在onCreate法。
但是,当我将手机旋转回原来的方向时,方法再次触发!请参阅本文末尾的 logcat。
这是来自新创建的 Android Studio 项目的复制和粘贴代码。
public class MainActivity extends AppCompatActivity {
EditText editText;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
editText = (EditText) findViewById(R.id.search_query);
}
@Override
protected void onPostCreate(@Nullable Bundle savedInstanceState) {
super.onPostCreate(savedInstanceState);
editText.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) {
Log.d("MainActivity", "charSequence:" + charSequence);
} …Run Code Online (Sandbox Code Playgroud)