Строка не может быть проанализирована в UInt32

На самом деле решение находится в классе DialogTitle в Google ... хотя оно не так эффективно, как принятое, оно намного проще и легко адаптируется.

public class SingleLineTextView extends TextView {

  public SingleLineTextView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    setSingleLine();
    setEllipsize(TruncateAt.END);
  }

  public SingleLineTextView(Context context, AttributeSet attrs) {
    super(context, attrs);
    setSingleLine();
    setEllipsize(TruncateAt.END);
  }

  public SingleLineTextView(Context context) {
    super(context);
    setSingleLine();
    setEllipsize(TruncateAt.END);
  }

  @Override
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    super.onMeasure(widthMeasureSpec, heightMeasureSpec);

    final Layout layout = getLayout();
    if (layout != null) {
      final int lineCount = layout.getLineCount();
      if (lineCount > 0) {
        final int ellipsisCount = layout.getEllipsisCount(lineCount - 1);
        if (ellipsisCount > 0) {

          final float textSize = getTextSize();

          // textSize is already expressed in pixels
          setTextSize(TypedValue.COMPLEX_UNIT_PX, (textSize - 1));

          super.onMeasure(widthMeasureSpec, heightMeasureSpec);
        }
      }
    }
  }

}

1
задан Uwe Keim 18 March 2019 в 06:37
поделиться

1 ответ

Возможно, в username.text есть пробел, вы можете удалить эти пробелы с помощью этого кода

username.text = username.text.Trim();

и затем проанализировать его.

и при использовании метода TryParse нет необходимости использовать Parse снова. просто измените код на этот

if (!UInt32.TryParse(username.text, out username_UInt32))
{
    //handle error
}
0
ответ дан Amir Hossein Esmaill Zade 18 March 2019 в 06:37
поделиться
Другие вопросы по тегам:

Похожие вопросы: