2014-10-03 4 views
-4

Я создаю калькулятор, я сделал кнопку удаления, но когда я запустил приложение, он сработает и остановится. Это мой код Java:Удалить кнопку в калькуляторе

Помогите мне пожалуйста.

 private static String removeLastChar(String str) { 
     return str.substring(0,str.length()-1); 

и это

 bdelete.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      editText.setText(removeLastChar(editText.getText().toString())); 
     } 
     }); 

вот мой журнал

java.lang.RuntimeException: Unable to start activity ComponentInfo{player.android.com.layout/player.android.com.layout.MyActivity}: java.lang.NullPointerException 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2211) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.app.ActivityThread.main(ActivityThread.java:5103) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:525) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
     at dalvik.system.NativeStart.main(Native Method) 
Caused by: java.lang.NullPointerException 
     at player.android.com.layout.MyActivity.onCreate(MyActivity.java:68) 
     at android.app.Activity.performCreate(Activity.java:5133) 
     at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1087) 
     at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2175) 
     at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2261) 
     at android.app.ActivityThread.access$600(ActivityThread.java:141) 
     at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:137) 
     at android.app.ActivityThread.main(ActivityThread.java:5103) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:525) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:737) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:553) 
     at dalvik.system.NativeStart.main(Native Method) 
+2

https://stackoverflow.com/questions/23353173/unfortunately-myapp-has-stopped-how-can-i-solve-this – CommonsWare

+0

Где ваш Logcat ???? –

+0

показать свой MyActivity.java:68? – prakash

ответ

0

С помощью этого кода вы будете удалить все символы, потому что вы говорите, удалить от 0 до длины 1 символов.

str.substring(0,str.length()-1); 

Например:

Строка LL = "Lorem Ipsum просто"

если вы говорите String ii = ll.substring(0,2);

вы получите: ii == "Lor".

попробовать что-то вроде этого:

public String remove(){ 
     String character = "2313213"; 
     String character1 = ""; 
     for(int i=0;i<character.length()-1;i++){ 
      character1 += character.charAt(i); 
     } 

     return character1; 
    } 
+0

Я просто хочу удалить 1 char Я сделал четкую кнопку сейчас, просто хочу кнопку удаления, чтобы удалить 1 последний символ только –

+0

с помощью этого кода вы удалите las one char. – MilanNz

+0

ОК, где положить код thsi? str.substring (0, str.length() - 1); или просто нужно положить это public String remove() { String character = "2313213"; Строковый символ1 = ""; for (int i = 0; i

0
This is late but help someone..... 

delete.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     String s=editText.getText().toString(); 
     s=s.substring(0,s.lenght()-1) 
     editText.setText(s); 
    } 
    }); 

this helps for deleting last digit from editText. 
i also refer this from 
http://stackoverflow.com/questions/21893558/what-is-the-best-way-to-delete-the-last-digit-in-a-calculator-app 
Смежные вопросы