2014-07-22 8 views
-1

editText 필드가 있고 InputFilter를 추가했습니다. 이 코드입니다 :android InputFilter maximumLength toast

editText = (EditText) findViewById(R.id.editText1); 
InputFilter maxLengthFilter = new InputFilter.LengthFilter(10); 
editText.setFilters(new InputFilter[]{ 
     maxLengthFilter }); 

가이 코드는 10 개 이상의 문자를 만들 수 없습니다,하지만 내 응용 프로그램이 충돌 11 캐릭터를 생성 할 때, 대신 내가 최대 달성했다 축배를 만들고 싶어.

누군가이 토스트를 추가하는 방법을 알고 있습니까?

로그 캣 : 토스트가 매우 중요하다

android:maxLength="10" 

경우 바로 편집 텍스트의 길이를 확인하고 때를 할 수 있습니다 :

07-22 12:47:59.339: I/Choreographer(836): Skipped 30 frames! The application may be doing too much work on its main thread. 
07-22 12:48:09.239: W/IInputConnectionWrapper(836): showStatusIcon on inactive InputConnection 
07-22 16:23:10.009: D/dalvikvm(836): GC_CONCURRENT freed 201K, 3% free 8203K/8455K, paused 80ms+14ms, total 202ms 
07-22 16:23:23.529: W/IInputConnectionWrapper(836): showStatusIcon on inactive InputConnection 
07-22 16:23:31.279: E/Trace(897): error opening trace file: No such file or directory (2) 
07-22 16:23:31.789: I/System.out(897): lightgreen 
07-22 16:23:32.389: D/gralloc_goldfish(897): Emulator without GPU emulation detected. 
07-22 16:23:39.589: D/AndroidRuntime(897): Shutting down VM 
07-22 16:23:39.589: W/dalvikvm(897): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
07-22 16:23:39.629: E/AndroidRuntime(897): FATAL EXCEPTION: main 
07-22 16:23:39.629: E/AndroidRuntime(897): java.lang.IllegalStateException: Could not execute method of the activity 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.view.View$1.onClick(View.java:3591) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.view.View.performClick(View.java:4084) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.view.View$PerformClick.run(View.java:16966) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.os.Handler.handleCallback(Handler.java:615) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.os.Handler.dispatchMessage(Handler.java:92) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.os.Looper.loop(Looper.java:137) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.app.ActivityThread.main(ActivityThread.java:4745) 
07-22 16:23:39.629: E/AndroidRuntime(897): at java.lang.reflect.Method.invokeNative(Native Method) 
07-22 16:23:39.629: E/AndroidRuntime(897): at java.lang.reflect.Method.invoke(Method.java:511) 
07-22 16:23:39.629: E/AndroidRuntime(897): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
07-22 16:23:39.629: E/AndroidRuntime(897): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
07-22 16:23:39.629: E/AndroidRuntime(897): at dalvik.system.NativeStart.main(Native Method) 
07-22 16:23:39.629: E/AndroidRuntime(897): Caused by: java.lang.reflect.InvocationTargetException 
07-22 16:23:39.629: E/AndroidRuntime(897): at java.lang.reflect.Method.invokeNative(Native Method) 
07-22 16:23:39.629: E/AndroidRuntime(897): at java.lang.reflect.Method.invoke(Method.java:511) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.view.View$1.onClick(View.java:3586) 
07-22 16:23:39.629: E/AndroidRuntime(897): ... 11 more 
07-22 16:23:39.629: E/AndroidRuntime(897): Caused by: java.lang.IndexOutOfBoundsException: setSpan (11 ... 11) ends beyond length 10 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1016) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:592) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:588) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.text.Selection.setSelection(Selection.java:76) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.text.Selection.setSelection(Selection.java:87) 
07-22 16:23:39.629: E/AndroidRuntime(897): at android.widget.EditText.setSelection(EditText.java:94) 
07-22 16:23:39.629: E/AndroidRuntime(897): at home.jmstudios.calc.Main.addText(Main.java:330) 
07-22 16:23:39.629: E/AndroidRuntime(897): at home.jmstudios.calc.Main.onClickListener1(Main.java:432) 
07-22 16:23:39.629: E/AndroidRuntime(897): ... 14 more 
07-22 16:23:41.608: I/Process(897): Sending signal. PID: 897 SIG: 9 
07-22 17:14:42.339: E/Trace(1044): error opening trace file: No such file or directory (2) 
07-22 17:14:42.929: I/System.out(1044): lightgreen 
07-22 17:14:43.510: D/gralloc_goldfish(1044): Emulator without GPU emulation detected. 
07-22 17:14:48.419: D/AndroidRuntime(1044): Shutting down VM 
07-22 17:14:48.419: W/dalvikvm(1044): threadid=1: thread exiting with uncaught exception (group=0x40a13300) 
07-22 17:14:48.449: E/AndroidRuntime(1044): FATAL EXCEPTION: main 
07-22 17:14:48.449: E/AndroidRuntime(1044): java.lang.IllegalStateException: Could not execute method of the activity 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.view.View$1.onClick(View.java:3591) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.view.View.performClick(View.java:4084) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.view.View$PerformClick.run(View.java:16966) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.os.Handler.handleCallback(Handler.java:615) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.os.Handler.dispatchMessage(Handler.java:92) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.os.Looper.loop(Looper.java:137) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.app.ActivityThread.main(ActivityThread.java:4745) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at java.lang.reflect.Method.invoke(Method.java:511) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:786) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at dalvik.system.NativeStart.main(Native Method) 
07-22 17:14:48.449: E/AndroidRuntime(1044): Caused by: java.lang.reflect.InvocationTargetException 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at java.lang.reflect.Method.invokeNative(Native Method) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at java.lang.reflect.Method.invoke(Method.java:511) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.view.View$1.onClick(View.java:3586) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  ... 11 more 
07-22 17:14:48.449: E/AndroidRuntime(1044): Caused by: java.lang.IndexOutOfBoundsException: setSpan (11 ... 11) ends beyond length 10 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.text.SpannableStringBuilder.checkRange(SpannableStringBuilder.java:1016) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:592) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.text.SpannableStringBuilder.setSpan(SpannableStringBuilder.java:588) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.text.Selection.setSelection(Selection.java:76) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.text.Selection.setSelection(Selection.java:87) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at android.widget.EditText.setSelection(EditText.java:94) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at home.jmstudios.calc.Main.addText(Main.java:343) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  at home.jmstudios.calc.Main.onClickListener8(Main.java:508) 
07-22 17:14:48.449: E/AndroidRuntime(1044):  ... 14 more 
07-22 17:14:48.769: D/dalvikvm(1044): GC_CONCURRENT freed 192K, 3% free 8211K/8455K, paused 76ms+28ms, total 281ms 
+0

당신은 로그 캣를 추가 할 수 주시기 바랍니다 –

답변

0

당신은 XML의 텍스트를 편집이를 추가 할 수 있습니다 10은 토스트를 보냅니다. 당신은 편집 텍스트 문자열 길이

final length = editText.getText().length(); 
다음

테스트를 얻기 위해 모든 문자열의 .length 속성을 사용할 수 있습니다

당신은 토스트 (음 토스트)을 필요로하는 경우의

.

final length = editText.getText().length(); 
if(length > 10) 
{ 
     Toast.makeText(MainActivity.this, //or whatever activity you toast 
     "Max Characters Achieved", Toast.LENGTH_LONG).show(); 
} 
+0

내가했던 내 질문에 내가이 토스트 – AndroidProgrammer

+0

아를 추가하는 방법 단지 당신이 자바 활동에 제안, 죄송합니다. 내 대답을 업데이트 할게. –

+0

내 질문이 업데이트되었습니다. ;) – AndroidProgrammer