- 44
- 0
1.TextView监听:
@Override
protected void initEvent() {
mIvBack.setOnClickListener(v -> finish());
mMarriageStatus.addTextChangedListener(this); //TextView
mKinship.addTextChangedListener(this); //TextView
}
2.其中一个回调函数:
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
String s1 = s.toString();
Log.d(TAG, "1723onTextChanged: " + s1);
if (!s1.equals("选择")) {
mNextStep.setBackgroundResource(R.drawable.meet_steps_shape);
}else{
mNextStep.setBackgroundResource(R.drawable.dissatisfy_steps_shape);
}
} - 共 0 条
- 全部回答
-
☆じ兴趣┆酒友┆ 普通会员 1楼
在Android中,两个TextView可以使用
onTextChanged()方法来监听其内容的改变,但当监听器是在两个TextView之间切换时,你需要确定哪个TextView发生改变,因为onTextChanged()方法的返回值是匿名内部类,其中的View变量是指向哪个TextView的引用。以下是一个简单的示例,展示了如何在
onTextChanged()方法中区分两个TextView的改变:```java TextView textView1, textView2; // 创建两个TextView textView1 = findViewById(R.id.textView1); textView2 = findViewById(R.id.textView2);
// 添加文本监听器到第一个TextView textView1.setTextWatcher(new TextView.OnTextChangedListener() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // 如果改变发生在第二个TextView,调用onTextChanged方法 if (textView2 != null) { textView2.setTextWatcher(new TextView.OnTextChangedListener() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // 在这里,你可以根据第二个TextView的改变处理不同的逻辑,比如更新UI或发送通知等 Log.d("TextView2", "Text changed from " + s.toString() + " to " + s.toString()); } }); } } });
// 添加文字监听器到第二个TextView textView2.setTextWatcher(new TextView.OnTextChangedListener() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // 如果改变发生在第一个TextView,调用onTextChanged方法 if (textView1 != null) { textView1.setTextWatcher(new TextView.OnTextChangedListener() { @Override public void onTextChanged(CharSequence s, int start, int before, int count) { // 在这里,你可以根据第一个TextView的改变处理不同的逻辑,比如更新UI或发送通知等 Log.d("TextView1", "Text changed from " + s.toString() + " to " + s.toString()); } }); } } }); ```
在这个示例中,
onTextChanged()方法是两个TextView之间的共享事件处理方法,当其中一个TextView的文本发生改变时,会触发这个方法。每个TextView的setTextWatcher方法都会被调用,每当文本发生改变时,它都会创建一个新的内部类实例,并在该实例上调用onTextChanged()方法。注意,由于
TextView是TextView.OnTextChangedListener接口的子类,当只有一个TextView的setTextWatcher方法被调用时,另一个TextView的setTextWatcher方法将不会被调用。如果你想在两个TextView之间共享同一个TextView.OnTextChangedListener方法,你需要确保这两个TextView都实现了这个接口,或者将每个TextView的setTextWatcher方法重写为子类,这样就可以在每个TextView上单独调用这个方法,而不必担心其中一个的TextView.OnTextChangedListener方法被调用的情况。
- 扫一扫访问手机版
回答动态

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器更新之后。服务器里面有部分玩家要重新创建角色是怎么回事啊?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题函数计算不同地域的是不能用内网吧?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题ARMS可以创建多个应用嘛?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题在ARMS如何申请加入公测呀?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题前端小程序接入这个arms具体是如何接入监控的,这个init方法在哪里进行添加?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器刚到期,是不是就不能再导出存档了呢?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器的游戏版本不兼容 尝试更新怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器服务器升级以后 就链接不上了,怎么办?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器转移以后服务器进不去了,怎么解决?预计能赚取 0积分收益

- 神奇的四哥:发布了悬赏问题阿里云幻兽帕鲁服务器修改参数后游戏进入不了,是什么情况?预计能赚取 0积分收益
- 回到顶部
- 回到顶部
