Android 计算器中的删除按钮
我正在创建一个计算器,我做了一个删除按钮,但当我运行应用程序时,它崩溃并停止。 这是我的java代码: 请帮帮我Android 计算器中的删除按钮,android,calculator,Android,Calculator,我正在创建一个计算器,我做了一个删除按钮,但当我运行应用程序时,它崩溃并停止。 这是我的java代码: 请帮帮我 private static String removeLastChar(String str) { return str.substring(0,str.length()-1); 还有这个 bdelete.setOnClickListener(new View.OnClickListener() { @Override
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)
使用此代码,您将删除所有字符,因为您说的是从0到长度为1的字符中删除
str.substring(0,str.length()-1);
例如:
String 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;
}
公共字符串删除(){
字符串字符=“2313213”;
字符串字符1=“”;
对于(inti=0;我这里是您的日志猫???显示您的MyActivity.java:68?prakash这里是MyActivity.java:68 bdelete.setOnClickListener(新视图.OnClickListener(){@Override public void onClick(视图视图视图){editText.setText(removeLastChar(editText.getText().toString());});是的,我已将EditText初始化为EdditText我只想删除1个字符我已做了一个明确的按钮现在只想删除最后1个字符在哪里放置代码?str.substring(0,str.length()-1);或者只需将此公共字符串删除(){String character=“2313213”;String character1=“”;对于(int i=0;i输出我的代码“remove”或子字符串(str.length()-1,str.length());错误在此行bdelete.setOnClickListener(new View.OnClickListener(){试试这个:editText.setText(removeLastChar(editText.getText().toString())+“”);
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