java - 按下屏幕上的任意位置具有按下按钮的效果
问题描述
我的应用程序有一个按钮,按下时会在 textView 中显示一个新单词,并在 editText 中显示一个新提示。尽管当用户点击屏幕上的任意位置时,它与按钮的效果相同,这显然会导致用户误点击并破坏体验。任何人都可以推荐任何东西。这是按钮的java:
public void nextWord(View view) { //nextWord is the onclick of the button
Button nextButton = findViewById(R.id.nextButton);
Button showTextButton = findViewById(R.id.showTextButton);
TextView wordTextView = findViewById(R.id.wordTextView);
EditText editTextView = findViewById(R.id.enterEditText);
ImageView logoImageView = findViewById(R.id.logoImageView);
TextView wordTextView1 = findViewById(R.id.wordTextView1);
i++;
String displayHint;
String displayText;
displayText = enterWord() + chooseArray();
displayHint = chooseArray();
wordTextView.setText(displayText);
editTextView.setHint(displayHint);
wordTextView1.setText(displayText) ;
if (i == 1) {
wordTextView.setVisibility(View.VISIBLE);
editTextView.setVisibility(View.VISIBLE);
logoImageView.setVisibility(View.INVISIBLE);
wordTextView1.setVisibility(View.VISIBLE);
// wordTextView.setText(enterWord() + initial(0));
// editTextView.setHint(initial(0));
}
if (choice == 5 && i ==1) {
pickImageButton.setVisibility(View.VISIBLE);
nextButton.setVisibility(View.INVISIBLE);
editTextView.setVisibility(View.INVISIBLE);
}else{
nextButton.setVisibility(View.VISIBLE);
editTextView.setVisibility(View.VISIBLE);
pickImageButton.setVisibility(View.INVISIBLE);
}
if (i == arrayLen()) {
showTextButton.setVisibility(View.VISIBLE);
editTextView.setVisibility(View.INVISIBLE);
wordTextView.setVisibility(View.INVISIBLE);
nextButton.setVisibility(View.INVISIBLE);
wordTextView1.setVisibility(View.INVISIBLE);
}
enteredWords[i] = editTextView.getText().toString();
}
这是按钮的 XML:
<Button
android:id="@+id/nextButton"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="180dp"
android:onClick="nextWord"
android:text="Next"
android:visibility="invisible"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.498"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="@+id/enterEditText"
app:layout_constraintVertical_bias="0.0" />
解决方案
尝试更改按钮的大小(高度、宽度或约束),如果这不起作用,请尝试将按钮重新创建为 div。
推荐阅读
- java - 深度复制模板类
- ios - JSONDecoder 无法解码 Array 但可以解码 String
- javascript - Vue.js 跨组件共享输入数据
- python - 如何让 Mypy 在 Callable 中识别类的协议成员资格?
- powershell - 为特定页面组合 pdftk 字符串
- .net - 对 .Net 4.0 的 TLS 1.3 支持
- python - kivy:如何从 FileChooserListView 中的所有项目中删除突出显示
- asp.net-core - masstransit 与 asp.net core 3.1 的集成
- java - Apache commons csv解析尝试读取集合大小后面的下一条记录
- php - 是否有一个 SQL 查询可以用来满足一组相当复杂的条件?