【问题标题】:how to pass an integer value using number type Edittext?如何使用数字类型 Edittext 传递整数值?
【发布时间】:2014-02-28 14:25:12
【问题描述】:

解析时显示错误。 我只想传递用户获得的整数值。 但它在解析时显示错误。 因此,此外,纠正如何接受用户的整数值以及如何以整数格式传递它的问题。 编码:

String s=et1.getText().toString();
if(s.matches("")){
    Toast t1= Toast.makeText(MainActivity.this, "Empty", 2000);
    t1.show();
}
else{
    int l = Integer.parseInt(s);
    Toast t2= Toast.makeText(MainActivity.this, s, 2000);
    t2.show();
    tv1.setText(l);
    Intent i1= new Intent(Loadscreen.this,Game01.class);
    i1.putExtra("l", l);
    startActivity(i1);
    Loadscreen.this.finish();
}

edittext的xml部分

<EditText
        android:id="@+id/editText1"
        android:layout_width="match_parent"
        android:layout_height="45dp"
        android:layout_x="0dp"
        android:layout_y="219dp"
        android:background="#00000000"
        android:ems="10"
        android:gravity="center_vertical"
        android:hint="Specify Level"
        android:inputType="number" />

堆栈跟踪:

02-28 20:06:24.332: E/AndroidRuntime(647): FATAL EXCEPTION: main
02-28 20:06:24.332: E/AndroidRuntime(647): android.content.res.Resources$NotFoundException: String resource ID #0x5 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.content.res.Resources.getText(Resources.java:201) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.widget.TextView.setText(TextView.java:2857)   
02-28 20:06:24.332: E/AndroidRuntime(647): at com.example.abc.MainActivity$1.onClick(MainActivity.java:37) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.view.View.performClick(View.java:2485)
02-28 20:06:24.332: E/AndroidRuntime(647): at android.view.View$PerformClick.run(View.java:9080) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.os.Handler.handleCallback(Handler.java:587) – Shubhankar 2 mins ago       
02-28 20:06:24.332: E/AndroidRuntime(647): at android.os.Handler.dispatchMessage(Handler.java:92) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.os.Looper.loop(Looper.java:123) 
02-28 20:06:24.332: E/AndroidRuntime(647): at android.app.ActivityThread.main(ActivityThread.java:3683)
02-28 20:06:24.332: E/AndroidRuntime(647): at java.lang.reflect.Method.invokeNative(Native Method) 
02-28 20:06:24.332: E/AndroidRuntime(647): at 

java.lang.reflect.Method.invoke(Method.java:507)

【问题讨论】:

  • 活动响应为强制关闭并且错误在线“int l = Integer.parseInt(s);”在 logcat 中指定。
  • 然后发布堆栈跟踪
  • 02-28 20:06:24.332:E/AndroidRuntime(647):致命异常:主要 02-28 20:06:24.332:E/AndroidRuntime(647):android.content.res。 Resources$NotFoundException: 字符串资源 ID #0x5 02-28 20:06:24.332: E/AndroidRuntime(647): at android.content.res.Resources.getText(Resources.java:201) 02-28 20:06:24.332 : E/AndroidRuntime(647): 在 android.widget.TextView.setText(TextView.java:2857)
  • 02-28 20:06:24.332: E/AndroidRuntime(647): at com.example.abc.MainActivity$1.onClick(MainActivity.java:37) 02-28 20:06:24.332 : E/AndroidRuntime(647): 在 android.view.View.performClick(View.java:2485) 02-28 20:06:24.332: E/AndroidRuntime(647): 在 android.view.View$PerformClick.run( View.java:9080) 02-28 20:06:24.332: E/AndroidRuntime(647): 在 android.os.Handler.handleCallback(Handler.java:587)
  • 02-28 20:06:24.332: E/AndroidRuntime(647): 在 android.os.Handler.dispatchMessage(Handler.java:92) 02-28 20:06:24.332: E/ AndroidRuntime(647): 在 android.os.Looper.loop(Looper.java:123) 02-28 20:06:24.332: E/AndroidRuntime(647): 在 android.app.ActivityThread.main(ActivityThread.java:3683 ) 02-28 20:06:24.332: E/AndroidRuntime(647): at java.lang.reflect.Method.invokeNative(Native Method) 02-28 20:06:24.332: E/AndroidRuntime(647): at java. lang.reflect.Method.invoke(Method.java:507)

标签: android android-parser


【解决方案1】:

改成

int l = Integer.parseInt(s);
tv1.setText(String.valueOf(l));

setText 接受CharacterSequence。但是,还有一种方法将 resourceid 作为参数。在您的情况下, setText 采用了 int。如果 android 没有找到具有提到的 id 的资源,你会得到 ResourceNotFoundException

【讨论】:

  • int l = Integer.parseInt(s); Toast t2= Toast.makeText(MainActivity.this, s, 2000); t2.show(); tv1.setText(l);
  • @Shubhankar 不是。
  • 这是正确的。如果您遵循此海报的答案,则可能无法在堆栈跟踪中得到错误。现在它认为你的 int 是一个资源 ID,因为它把它看作一个整数。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-02
  • 2021-04-17
  • 1970-01-01
相关资源
最近更新 更多