【问题标题】:Cannot invoke getText() on the primitive type int [duplicate]无法在原始类型 int 上调用 getText() [重复]
【发布时间】:2013-09-11 07:50:32
【问题描述】:

这是我为 TextView 设置值的代码

enter code here

public void addHours(View view){
    final TextView mTextView = (TextView) findViewById(R.id.newHours_Value);
    String hourValue = R.id.enterHours.getText().toint();
    mTextView.setText("hourValue");
}

但是 R.id.enterHours.GetText() 出现错误

无法在原始类型 int 上调用 getText()

请问我做错了什么。

【问题讨论】:

标签: java android


【解决方案1】:

这个

 R.id.enterHours

返回一个int。这就是为什么当你初始化 View 时你会这样做

TextView mTextView = (TextView) findViewById(R.id.newHours_Value);

(TextView) 将其转换为 TextView,因此您可以像 getText().toString() 一样调用它的方法。所以你可能想要的是

TextView hourValueTV = (TextView) findViewById*R.id.enterHours);  //assuming its a TextView and not EditText
String hourValue = hourValueTV.getText().toString();

【讨论】:

    【解决方案2】:

    补充一下codeMagic所说的:

    在这种情况下,您应该使用字符串的变量名称(引用)而不是值(“hourValue”,除非您希望您的文本为 hourValue)来设置文本。

    应该是

      mTextView.setText(hourValue);
    

    【讨论】:

    • 非常感谢大家,我确实注意到了其他问题但无法理解答案,我是android编程的新手
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-11
    • 2018-11-03
    • 2012-04-15
    • 1970-01-01
    • 2014-05-19
    • 2023-03-17
    • 1970-01-01
    相关资源
    最近更新 更多