【问题标题】:How to get a String value from an EditText Int?如何从 EditText Int 中获取字符串值?
【发布时间】:2020-05-17 12:56:21
【问题描述】:

这样写:

note.setOraIn(txtOraIn.getText().toString());

我收到此错误:

错误:不兼容的类型:字符串无法转换为 int

note.setOraIn(txtOraIn.getText().toString());

确实txtOraInInteger

显示txtOraIn 的正确语法是什么?

或者,是否可以使用字符串的值执行数学运算?比如我需要得到txtOraFin - txtOraIn的结果,目前是Strings。

这是 Notes 类的一部分:

@ColumnInfo(name = "note_content")
// column name will be "note_content" instead of "content" in table
private String data;
private String oraIn;
private String oraFin;
private String luogo;
private String km;
private String ore;

public Note(String data, String oraIn, String oraFin, String luogo, String km, String ore) {
    this.data = data;
    this.oraIn = oraIn;
    this.oraFin = oraFin;
    this.luogo = luogo;
    this.km = km;
    this.ore = ore;
}

@Ignore
public Note() {
}

public String getData() {
    return data;
}

public void setData(String data) {
    this.data = data;
}

public long getNote_id() {
    return note_id;
}

public void setNote_id(long note_id) {
    this.note_id = note_id;
}

public String getOraIn() {return oraIn;}

public void setOraIn(String oraIn) {this.oraIn = oraIn;}

public String getOraFin() {return oraFin;}

public void setOraFin(String oraFin) {this.oraFin = oraFin;}

public String getLuogo() {
    return luogo;
}

public void setLuogo(String luogo) {
    this.luogo = luogo;
}

public String getKm() {return km;}
public void setKm(String km) {this.km = km;}

public String getOre() {return ore;}
public void setOre(String ore) {this.ore = ore;}

【问题讨论】:

    标签: android int getstring


    【解决方案1】:

    不确定这是否与 Corda 相关,因为它的标记为 corda

    但是,我会尝试回答这个问题,因为它似乎是一个通用的 Java 问题。要将字符串转换为整数,您可以使用Integer.valueOf(<String>)

    所以对于上面的,它变成了note.setOraIn(Integer.valueOf(txtOraIn.getText().toString()))

    此外,不可能对 String 进行数学运算(在纯 Java 中),除非您编写一些代码来读取值并在后台进行计算。

    【讨论】:

    • 您好,谢谢,在将字符串转换为 int 语法后,我收到了这些新错误:进程:com.example.pavneet_singh.roomdemo,PID:4039 java.lang。 NumberFormatException:对于输入字符串:“”在 java.lang.Integer.parseInt(Integer.java:627) 在 java.lang.Integer.valueOf(Integer.java:801) 等等等等。
    • 你得到的字符串似乎是空白的,所以它不能转换成数字。您可以将此语句包装在 try-catch 块中,并在接收到的字符串无法转换为数字时采取适当的措施。
    • 对于空白,您可能希望将其初始化为默认值,但您还需要考虑其他情况,其中该值是无法转换为整数的随机字符串。
    • 是的,字符串是空的只是因为我没有写任何东西,但现在我明白了,它是关于什么的? java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法 'android.text.Editable android.support.design.widget.TextInputEditText.getText()' 最后一件事,你告诉我的 try-catch 块在哪里写吗?总是点击?谢谢
    • 尝试catch是Java中处理异常的一种通用方法。对于更特定于 android 的最佳实践和设计模式,您应该使用android 标记问​​题以引起 android 社​​区的关注。我不太熟悉 android 来建议这个。
    猜你喜欢
    • 1970-01-01
    • 2018-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    • 2015-10-23
    • 1970-01-01
    • 2016-02-16
    • 2012-11-15
    相关资源
    最近更新 更多