【问题标题】:Error while value showing in textview在文本视图中显示值时出错
【发布时间】:2014-04-21 06:03:11
【问题描述】:

我遇到了一些问题,我搜索了很多,但没有找到任何解决方案,这是我的代码

   private void rotateDialer(float degrees, int angleMove) {
    angleMove = conversionAngles(angleMove);
    // txt.setText(""+angleMove);
    // matrix.postRotate(degrees, dialerWidth / 2, dialerHeight / 2);
    // dialer.setImageMatrix(matrix);

    if (angleMove < 36 && angleMove >= 0) {
        settingMinutesNeedle(36);
        // /addAngles = addAngles + 36;
    } else if (angleMove >= 36 && angleMove < 72)
        settingMinutesNeedle(72);
    else if (angleMove >= (36 * 2) && angleMove < (36 * 3)) {
         Toast.makeText(getApplicationContext(),
         "move angle "+angleMove,Toast.LENGTH_SHORT).show();


//error here         tvval.setText(angleMove);




settingMinutesNeedle(36 * 3);
    } else if (angleMove >= (36 * 3) && angleMove < (36 * 4))
        settingMinutesNeedle(36 * 4);
    else if (angleMove >= (36 * 4) && angleMove < (36 * 5))
        settingMinutesNeedle(36 * 5);
    else if (angleMove >= (36 * 5) && angleMove < (36 * 6))
        settingMinutesNeedle(36 * 6);
    else if (angleMove >= (36 * 6) && angleMove < (36 * 7))
        settingMinutesNeedle(36 * 7);
    else if (angleMove >= (36 * 7) && angleMove < (36 * 8))
        settingMinutesNeedle(36 * 8);
    else if (angleMove >= (36 * 8) && angleMove < (36 * 9))
        settingMinutesNeedle(36 * 9);
    else if (angleMove >= (36 * 9) && angleMove < (36 * 10))
        settingMinutesNeedle(36 * 10);
    // count = count + 1;
}

当我吐司值时,它不会给出任何错误,但是当我在 textview 中设置它时,它会显示“异常调度输入事件”

我该如何解决?

【问题讨论】:

    标签: android textview settext


    【解决方案1】:

    使用

     tvval.setText(String.valueOf(angleMove));
    

    angleMove 是整数。 setText 有一种方法,它采用 int 查找具有提到的 id 的资源,如果没有找到您将得到 ResourceNotFoundException,而其他方法则采用 CharacterSequence。所以你需要使用String.valueOf(angleMove)

    【讨论】:

      【解决方案2】:

      就像你在上面做的那样,做

      tvval.setText(""+angleMove);
      

      因为你不能直接为你的 textview 设置一个 int 或 float 值

      【讨论】:

      • 您对float 是正确的,但您可以使用int 值。新用户只是不期望使用int 时的行为。 (正如其他答案中已经解释的那样)
      【解决方案3】:

      试试下面的代码:

      tvval.setText(String.valueOf(angleMove));
      

      我认为这肯定会奏效。

      【讨论】:

        【解决方案4】:

        angleMoveint,abd TextView.setText() 期望 CharSequence...

        所以,你可以这样做:

        tvval.setText(angleMove + "");
        

        【讨论】:

        • 部分正确,部分错误。 setText() 也允许int,但它会找到一个字符串资源。
        【解决方案5】:

        试试这个:

        tvval.setText(angleMove + "");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-11-25
          • 2021-12-06
          • 2013-11-14
          • 2023-03-24
          • 1970-01-01
          • 1970-01-01
          • 2019-11-28
          相关资源
          最近更新 更多