【发布时间】:2017-12-01 09:19:17
【问题描述】:
我是 android 的初学者,我正在制作一个与 SpellBee 相关的应用程序。问题是我在屏幕上有 2 个按钮,一个用于下一个单词,一个用于上一个单词。在开始 a default first word shows on screen 。第一次按下一个单词后,它会显示数据库列表中的下一个单词。但是当我按上一个按钮时,第一次单击它什么也不做,第二次单击它显示上一个单词,然后单击下一个单词按钮它什么也不做,第二次单击它移动到下一个单词。我该如何解决这个两次按钮问题This is my XML for Buttons
按钮代码
public void next_click(View view) {
if(iterator <= wordList.size()) {
word.setText(wordList.get(iterator));
definition.setText(definitionList.get(iterator));
usage.setText(usageList.get(iterator));
iterator++;
/*if (iterator == wordList.size()) {
Toast.makeText(Level1Activity.this, "Level 1 Completed",
Toast.LENGTH_SHORT).show();
next_word.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Intent i = new Intent(Level1Activity.this,
SelectLevelActivity.class);
startActivity(i);
}
});
}*/
}
}
public void previous_click(View view) {
if(iterator != 0) {
--iterator;
word.setText(wordList.get(iterator));
definition.setText(definitionList.get(iterator));
usage.setText(usageList.get(iterator));
}
}
XML
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context="com.example.msiprestige.spellbee.Level1Activity"
android:background="@drawable/bookshelf"
android:alpha="0.9">
<TextView
android:id="@+id/textView10"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="16dp"
android:text="@string/level_1"
android:textColor="#fff"
android:textSize="50sp"
android:visibility="visible"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:id="@+id/word"
android:layout_width="261dp"
android:layout_height="54dp"
android:layout_marginTop="23dp"
android:ems="10"
android:gravity="center_horizontal"
android:textColor="#fff"
android:textColorLink="#fff"
android:textSize="22sp"
android:textStyle="bold"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView10" />
<TextView
android:id="@+id/textView12"
android:layout_width="80dp"
android:layout_height="24dp"
android:layout_marginStart="4dp"
android:text="@string/definition"
android:textColor="#fff"
android:textSize="18sp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.36" />
<TextView
android:id="@+id/textView13"
android:layout_width="54dp"
android:layout_height="24dp"
android:layout_marginStart="16dp"
android:layout_marginTop="109dp"
android:text="@string/usage"
android:textColor="#fff"
android:textSize="18sp"
app:layout_constraintLeft_toLeftOf="parent"
app:layout_constraintTop_toBottomOf="@+id/textView12" />
<TextView
android:id="@+id/definition"
android:layout_width="277dp"
android:layout_height="106dp"
android:layout_marginEnd="20dp"
android:layout_marginTop="48dp"
android:width="0dip"
android:ems="10"
android:textColor="#fff"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/word" />
<TextView
android:id="@+id/usage"
android:layout_width="277dp"
android:layout_height="106dp"
android:layout_marginEnd="20dp"
android:layout_marginTop="27dp"
android:width="0dip"
android:ems="10"
android:textColor="#fff"
android:textSize="15sp"
android:textStyle="bold"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toBottomOf="@+id/definition" />
<Button
android:id="@+id/previous_word"
android:layout_width="154dp"
android:layout_height="56dp"
android:layout_marginBottom="38dp"
android:layout_marginLeft="36dp"
android:onClick="previous_click"
android:text="Previous Word"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent" />
<Button
android:id="@+id/next_word"
android:layout_width="154dp"
android:layout_height="56dp"
android:layout_marginBottom="36dp"
android:layout_marginRight="28dp"
android:onClick="next_click"
android:text="@string/next_word"
android:focusable="true"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintRight_toRightOf="parent" />
</android.support.constraint.ConstraintLayout>
【问题讨论】:
-
发布按钮点击的代码,也不是图片格式。发布为文本
-
你能发布你的点击执行代码吗?和 Button 在 xml 中不需要可聚焦的属性
-
贴出你的整个xml布局,很有可能焦点被父视图偷走了
-
我已经尝试将焦点设置为 false。还是不行