当我们放置空值时,我需要在我的应用中提供帮助。当我尝试计算时,如果没有值,是否有任何方法可以防止崩溃。只是我需要当我按下计算按钮时,它将文本设置为“输入值”在答案中
当我尝试将字符串转换为小数或整数类型时,只会在计算中出错,并阻止其生成
这是我的布局xml
<EditText
android:id="@+id/distance"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/distance"
android:inputType="number|numberDecimal|numberSigned"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.094"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.034" />
<EditText
android:id="@+id/initalVelocity"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/initialVelocity"
android:inputType="number|numberDecimal|numberSigned"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.094"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.133" />
<EditText
android:id="@+id/time"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:ems="10"
android:hint="@string/time"
android:inputType="number|numberDecimal|numberSigned"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.094"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.232" />
<TextView
android:id="@+id/answer"
android:layout_width="219dp"
android:layout_height="37dp"
android:text="@string/answer"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintHorizontal_bias="0.096"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintVertical_bias="0.35" />
<Button
android:id="@+id/calculate"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/calculate"
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" />
以下是我的主要活动kt文件:
calculate.setOnClickListener {
val s = distance.text.toString().toDouble()
val u = initalVelocity.text.toString().toDouble()
val t = time.text.toString().toDouble()
val a = (((2* s))-(2*(u*t)))/(t*t)
answer.setText("answer $a m/(s)^2")
}
图像
试试这个
calculate.setOnClickListener {
if((distance.text.toString().lenght>0) &&
(initalVelocity.text.toString().lenght>0) &&
(time.text.toString().lenght>0)) {
val s = distance.text.toString().toDouble()
val u = initalVelocity.text.toString().toDouble()
val t = time.text.toString().toDouble()
val a = (((2* s))-(2*(u*t)))/(t*t)
answer.setText("answer $a m/(s)^2")
}else{
//String null
}
}
首先点击按钮,你必须检查编辑文本是否有任何值,如果没有不计算
这是示例
btn.setOnClickListener{
//read value from `EditText` to a String variable
val s = distance.text.toString().trim().toDouble()
val u = initalVelocity.text.toString().trim().toDouble()
val t = time.text.toString().trim().toDouble()
//check if the `EditText` have values or not
if(s > 0 && u > 0 && t > 0) {
//calculate
val a = (((2* s))-(2*(u*t)))/(t*t)
answer.setText("answer $a m/(s)^2")
}else{
Toast.makeText(applicationContext, "Please value! ", Toast.LENGTH_SHORT).show()
}
}
您可以在此处找到更清晰的解决方案表单和类型转换-kitlin
问题内容: 我刚刚开始玩Java 8和Lambda Expression,我很好奇是否可以通过返回特定值(例如null)从Lambda表达式内部停止Stream生成。Stream.generate()是否可能? 不幸的是,此代码不会终止,因此仅返回就不会退出流。 问题答案: 对于Lamdas,这是不可能的,您无法从表达式内部控制流。甚至API文档都说Stream.generate生成无限流。 但是
材料设计非常强调“纸张”的隐喻。要做到这一点,阴影是必不可少的。由于材料设计是一种理念,而不是API(尽管它内置在L中),因此应该在任何地方(Windows窗体、HTML/CSS等)进行设计。如何在Android API 14到20中做到这一点? 请注意,对于圆形和其他非方形形状,预制PNG实际上并不实用。
是否可以使用一种方法或其他方法,而不是“%.6f”。格式(值)以实现相同的目标?这是我的代码: 我想让它更具动态性和可读性
在Kotlin中,您可以创建: 然后可以使用它解析JSON,例如“{n:10}”。在这种情况下,您将有一个对象,从、或接收,它包含以下值:。 在Kotlin+GSON-How to get a emptyList when null for data类中,您可以看到另一个示例。 当您以后尝试使用时,您将在这里得到一个异常::“Kotlin.TypeCastException:null不能被强制转换
问题内容: 我必须为我的OJT公司编程一个应用程序管理系统。前端将在C#中完成,后端将在SQL中完成。 现在,我从来没有做过这样的项目。在学校里,我们只有关于SQL的基本课程。不知何故,我们的老师完全没有讨论SQL注入,而我直到现在才通过网上阅读与之接触。 所以无论如何,我的问题是:如何防止C#中的SQL注入?我模糊地认为,可以通过适当地屏蔽应用程序的文本字段来做到这一点,以使其仅接受指定格式的输
有什么方法可以防止一个字段在Jackson中反序列化吗?但是我需要序列化我用@JsonIgnoreProperties尝试字段,这阻止了序列化和反序列化。