5月11日11来るメッセージを停止アプリをクリアしようとしてclear.ifされていない致命的な例外を:メインプロセス:com.example.jagan.mainapplication、PID:25221 java.lang.NumberFormatException:無効なint: "" at java.lang.Integer.invalidInt(Integer.java:138) at java.lang.Integer。 android.widgetでcom.example.jagan.mainapplication.BottomBar2Activities.Add2Tab $ 1.afterTextChangedでjava.lang.Integer.parseInt(Integer.java:334)(Add2Tab.java:57)でのparseInt(Integer.java:358)。 android.widget.TextViewのTextView.sendAfterTextChanged(TextView.java:9078)$ android.texの$ ChangeWatcher.afterTextChanged(TextView.java:11739) android.text.SpannableStringBuilderでandroid.text.SpannableStringBuilder.deleteでandroid.text.SpannableStringBuilder.replace(SpannableStringBuilder.java:520)(SpannableStringBuilder.java:216)でt.SpannableStringBuilder.sendAfterTextChanged(SpannableStringBuilder.java:976) 。 android.textでandroid.text.method.BaseKeyListener.backspace(BaseKeyListener.java:49) でandroid.text.method.BaseKeyListener.backspaceOrForwardDelete(BaseKeyListener.java:94) で(SpannableStringBuilder.java:33) を削除します。メソッド。BaseKeyListener.onKeyDown(BaseKeyListener.java:155) android.text.method.NumberKeyListener.onKeyDown(NumberKeyListener.java:138) android.widget.TextView.doKeyDown(TextView.jav a:6989)android.widget.TextView.onKeyDown(TextView.java:6750)の android.view.KeyEvent.dispatch(KeyEvent.java:3200)の android.view.View.dispatchKeyEvent(View.java: 9027) android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1594) at android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1594) at android.widget.ScrollView.dispatchKeyEvent(ScrollView.java:523) android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1594)でandroid.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1594) でandroid.view.ViewGroup.dでispatchKeyEvent(ViewGroup.java:1594) android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1594) android.view.ViewGroup.dispatchKeyEvent(ViewGroup.java:1594) (com.android.internal.policy)です。 (ActiveWindow.java:1826) のcom.android.internal.policy.impl.PhoneWindow.superDispatchKeyEvent(PhoneWindow.java:2735) 2947) android.support.v7.app.AppCompatActivity.dispatchKeyEvent(AppCompatActivity.java:541) android.support.v7.view.WindowCallbackWrapper.dispatchKeyEvent(WindowCallbackWrapper.java:59)com.android.internal.policy.impl.PhoneWindow $ DecorView.dispatchKeyEvent(PhoneWindow.java:2613)アンドロイドで でandroid.support.v7.app.AppCompatDelegateImplBase $ AppCompatWindowCallbackBase.dispatchKeyEventで(AppCompatDelegateImplBase.java:319) 。 ViewRootImpl $ ViewPostImeInputStage.processKeyEvent(ViewRootImpl.java:4918) android.view.ViewRootImpl $ ViewPostImeInputStage.onProcess(ViewRootImpl.java:4873) (android.view.ViewRootImpl $ InputStage.deliver(ViewRootImpl.java:4337) android.view.ViewRootImpl $ InputStage.forwardでandroid.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:4390) (ViewRootImplで 。Javaの:4356)android.view.ViewRootImpl $ AsyncInputStageでandroid.view.ViewRootImpl $ InputStage.apply(ViewRootImpl.java:4364) でandroid.view.ViewRootImpl $ AsyncInputStage.forward(ViewRootImpl.java:4482) で 。 android.viewでandroid.view.ViewRootImpl $ InputStage.onDeliverToNext(ViewRootImpl.java:4390) でandroid.view.ViewRootImpl $ InputStage.deliverで(ViewRootImpl.java:4539) (ViewRootImpl.java:4337) を適用します。 ViewRootImpl $ InputStage.forward(ViewRootImpl.java:4356) とandroid.view.ViewRootImpl $ InputStage.apply(ViewRootImpl.java:4364) android.view.ViewRootImpl $ InputStage.deliver(V iewRootImpl.java:4337)android.view.ViewRootImpl.enqueueInputEventでandroid.view.ViewRootImpl.doProcessInputEventsでandroid.view.ViewRootImpl.deliverInputEvent(ViewRootImpl.java:6938) (ViewRootImpl.java:6811) で(ViewRootImpl。 java:6782) android.view.ViewRootImpl $ ViewRootHandler.handleMessage(ViewRootImpl.java:3986) (android.os.Handler.dispatchMessage(Handler.java:102)) にandroid.os.Looper.loop(Looper。 java:145) android.app.ActivityThread.main(Activiは、最後の桁は残念ながら
答えて
これを試す
チェックのEditTextの長さは、前にあなたがString
あなたがInteger
に解析するtryngされ、意味の有効桁の文字列ではありませんNumberFormatException
を持って
final EditText edit1 = (EditText) findViewById(R.id.editText1);
edit1.addTextChangedListener(new TextWatcher() {
@Override
public void onTextChanged(CharSequence s, int start, int before, int count) {
}
@Override
public void beforeTextChanged(CharSequence s, int start, int count, int after) {
}
@Override
public void afterTextChanged(Editable s) {
if(edit1.getText().toString().length()>0){
final int value = Integer.parseInt(edit1.getText().toString());
if (value < 90 || value > 200) {
// Toast.makeText(getApplicationContext(), "Enter 90-200", Toast.LENGTH_SHORT).show();
edit1.setError("enter 90-200");
}
}
}
});
あなたはu rのためにsomuchをreplay.nowその働きuの博士に感謝します。 – jagvi
あなたは大歓迎..... –
うれしかったです。私の答えを受け入れてください。https://stackoverflow.com/tourにアクセスして、できるだけ多くの情報を入手してください。 –
を整数に変換します。あなたの場合、それはちょうど空です。 String
が有効であれば、たとえば、チェックするには、いくつかの方法があります:あなたはedit1
から取得したテキストが空の場合は
String number = edit1.getText().toString();
if(!number.isEmpty())
チェックします。しかし、これは唯一の問題ではありませんでした。数字の代わりに入力文字や10進数などのユーザーの問題に直面することがあります。あなたには、いくつかのエラーが立ち上がっコードに避けなければならないが、このようなケースでは、あなたが避けることができ、通常
int value = 0;
String number = edit1.getText().toString();
try{
value = Integer.parseInt(number);
}catch(NumberFormatException ex){
Toast.makeText(this,"Please enter a valid number",Toast.LENGTH_SHORT).show();
}
:このようなシナリオを回避する最善のは、エラーをキャッチする代わりに、すべての可能な理由に対してString
をチェックすることです多くの間違ったシナリオを一度に。
- 1. 残念ながら、MyAppは、
- 2. コード名1:アプリケーションは残念ながら
- 3. アプリケーション残念ながら変更後パッケージ名
- 4. アプリケーションは、残念ながら私のEditTextフィールドがnull
- 5. 残念ながら、シンプルなアプリは停止しています
- 6. Groovyは:最後の桁
- 7. 残念ながら、私のアプリケーションは停止しました
- 8. 残念ながらHelloListViewは停止しました
- 9. 残念ながらsqliteは停止しました
- 10. 残念ながら、あなたのアプリが
- 11. 残念ながら「アプリ名は、」私はからJsoupライブラリを追加
- 12. Magentoのメールモデルのエンコーディングは、残念ながらデフォルトはiso-8859-1です。
- 13. 残念ながら、システムUIが停止しました
- 14. Android listview残念ながら、アプリが停止しました
- 15. "残念ながらDesign1が停止しました"
- 16. 残念ながら、padrinoが起動したときにnotmethodエラー
- 17. 残念ながら、Launcher3が停止しました
- 18. 残念ながらSQlLiteAppが停止しました
- 19. 残念ながら、接続が中止されました
- 20. 残念ながら、* GridView *が停止しました
- 21. Genymotion残念ながらギャラリーが停止しました
- 22. のphpMyAdminの残念
- 23. 残念ながらSpringのビルダーパターンを使用する
- 24. 残念ながら、アプリの停止を抑制しました
- 25. 残念ながら、私のWebviewアプリはMarshmallowで停止しました
- 26. 残念ながら、アンドロイドシステムはwhatsappの意図を停止しました
- 27. 残念ながら、このアプリはAndroidスタジオを停止しました
- 28. 最後の子供に詰め物が残らない
- 29. 「残念ながら、Google Playストアは停止しました」 - HTML専用のCordovaアプリをインストールした後
- 30. Native + Android:リリースビルド "残念ながらApp、停止しました"
エラーのstacktraceを見ずに、私たちは助けられません... – Opiatefuchs
しかし、edit1.getText()。toString()は解析可能な値を返しません。整数に一致する数字文字列ではないかもしれません。 – Opiatefuchs
NumberFormatエラーのようです。 parseIntの前にEditTextが空であるかどうかを調べてみてください。 –