【问题标题】:EditText with number input only returns 0 as string带有数字输入的 EditText 仅返回 0 作为字符串
【发布时间】:2013-02-17 02:03:05
【问题描述】:

我有一个EditText,它只接受数字输入,我正在使用以下代码将该输入转换为字符串,以便以后使用。

scoreString = Integer.parseInt(teamScore.getText().toString());

问题是......当我使用 setText() 时,它只显示“0”:

previewText.setText( scoreString + " :");

为什么整数不能说明用户在编辑文本中输入的内容?

编辑:如果我使用带有大量字符串(其中包含 6-8 个字符串)的 setText,这会破坏使用其中的数字的能力吗?

-我什至收集了最后一块字符串并将它们制成一个完整的字符串,然后将 setText 用作finalOutput,但它不起作用(见下文)

finalOutput = (sportName + ": " + team1NameString
                    + " " + team1ScoreString + ", " + team2NameString + " "
                    + team2ScoreString + " - " + quarterString + " "
                    + descriptionString);
            generatePreview.setText(finalOutput + "");

(对不起,我一直在更改变量名,请注意格式)

【问题讨论】:

  • 您可能需要先修剪该字符串,但如果真的有必要,我不记得 100%:Integer.parseInt(teamScore.getText().toString().trim())

标签: android android-edittext gettext tostring settext


【解决方案1】:

嗯,我可以确认以下工作听起来像您想要的那样(这意味着如果我在 EditView 中输入“65”,它会在 TextView 中输出“65:”):

    EditText mEditView = (EditText)findViewById(R.id.myedittext);
    TextView mTextView = (TextView)findViewById(R.id.mytextview);

    int scoreString = Integer.parseInt(mEditView.getText().toString());
    mTextView.setText(scoreString + " :");

你的设置是一样的吗?

【讨论】:

  • 字符串的数量无关紧要。我在我的代码中手动设置了您提到/复制了finalOutput 字符串的变量,它仍然按预期工作(它不适合注释,但String team1Name="Team 1"String sportName="Sport" 等)。出于调试目的,问题是所有变量还是某些变量?您的变量类型/名称是否在任何地方都匹配?在做正确的setContentView 之后,你确定做findViewByid 吗?这可能很容易被忽视。
  • 我已经仔细检查了所有内容,但我仍然无法找出问题所在...我可以毫无困难地显示任何字符串 - 只有数字会因为只返回“0”而变得混乱字符串。我没有在任何地方将它设置为“0”——我不知道它为什么显示那个数字。
  • 出于测试目的,如果您只是尝试回显输入的字符串本身而不将其设置为值怎么办? (所以mTextView.setText(mEditView.getText().toString()))。 (此外,0 只是 Java 中未初始化的 int 的值吗?尝试将其初始化为 5 并观察行为)。
猜你喜欢
  • 2010-10-25
  • 2013-10-28
  • 2021-06-02
  • 1970-01-01
  • 2015-07-28
  • 1970-01-01
  • 1970-01-01
  • 2021-05-14
  • 1970-01-01
相关资源
最近更新 更多