【发布时间】:2019-05-23 04:07:37
【问题描述】:
我的应用程序包含 3 个 EditText 属性
第一个属性从用户那里获取百分比值,第二个属性应该获取用户想要计算百分比的数字,第三个属性应该显示结果。
我附上了下面的java和xml代码!谢谢。
我有一个逻辑错误。我期望获得具有用户输入的特定百分比的特定数字的值。
例如。用户想要 200 的 25%,然后在第一个 EditText 中,用户将输入 25%,然后在第二个 Edittext 中他将输入 200,该值应自动显示在第三个 Edittext 中,即 50。但是这里第三个 Edittext 没有更新它值并显示 0.0。
<EditText
android:id="@+id/txtbx1"
android:layout_width="179dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.462" />
<EditText
android:id="@+id/txtbx2"
android:layout_width="179dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.585" />
<EditText
android:id="@+id/txtbx3"
android:layout_width="179dp"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:ems="10"
android:inputType="number"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.708" />
<TextView
android:id="@+id/txtvw1"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:text="%"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.144"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.462" />
<TextView
android:id="@+id/txtvw3"
android:layout_width="wrap_content"
android:layout_height="45dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:text="is"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.144"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.708" />
<TextView
android:id="@+id/txtvw2"
android:layout_width="33dp"
android:layout_height="45dp"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:text="of"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.133"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.585" />
<TextView
android:id="@+id/PC"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_marginLeft="8dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:fontFamily="@font/sansationbold"
android:text="Percentage Calculator"
android:textSize="30dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.139" />
<TextView
android:id="@+id/acl"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="320dp"
android:layout_marginLeft="320dp"
android:layout_marginTop="8dp"
android:layout_marginEnd="8dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="8dp"
android:fontFamily="@font/casanova"
android:text="Arcis Computer Labs"
android:textSize="10dp"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="1.0"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.988" />
setContentView(R.layout.activity_mainscreen);
EditText txtbx1 = (EditText)findViewById(R.id.txtbx1);
EditText txtbx2 = (EditText)findViewById(R.id.txtbx2);
EditText txtbx3 = (EditText)findViewById(R.id.txtbx3);
TextView txtvw1 = (TextView)findViewById(R.id.txtvw1);
TextView txtvw2 = (TextView)findViewById(R.id.txtvw2);
TextView txtvw3 = (TextView)findViewById(R.id.txtvw3);
float txt;
try{
txt = Float.parseFloat(txtbx1.getText().toString());
}
catch(NumberFormatException x){
txt = (float) 0.0;
}
float txt2;
try{
txt2 = Float.parseFloat(txtbx2.getText().toString());
}
catch(NumberFormatException ex){
txt2 = (float) 0.0;
}
Percent = (txt2 * txt) / 100;
txtbx3.setText(String.valueOf(Percent));
}
【问题讨论】:
-
您遇到了什么错误?你期望得到什么?你在放什么?
-
我没有收到任何错误应用程序正在运行没有任何错误。我期望以用户输入的特定百分比获得特定数字的值。例如。用户想要 200 的 25%,然后在第一个 Edittext 中用户将输入 25%,然后在第二个 Edittext 中他将输入 200,该值应自动显示在第三个 Edittext 中,即 50。但是这里第三个 Edittext 没有更新它的值并显示 0.0。
-
请edit问题包含额外信息
-
您需要在 EditText 上添加更改监听器。检查这个答案:stackoverflow.com/questions/20824634/…
-
添加更改监听器会做什么?
标签: java android textview android-edittext