我已经创建了用户位的数字到editexts和应用程序正在采取一些Calcs(计算)的应用程序,并显示一个具有number..i 7行与editexts。但第7 editext是用户填充它是可选的(我添加了一个复选框,如果用户选择它的editext是可见的,否则它的隐形..)我有我的代码奇怪的问题,我想你的帮助。 。力向下错误(如果使用/如果其他人)
首先这是我的代码:
apostoli.setOnClickListener(new OnClickListener() {
private AlertDialog show;
public void onClick(View arg0) {
if ((vprosvasis.getText().toString() == " ")
|| (vprosvasis.getText().length() == 0)
|| (vprosvasis2.getText().toString() == " ")
|| (vprosvasis2.getText().length() == 0)
|| (vprosvasis3.getText().toString() == " ")
|| (vprosvasis3.getText().length() == 0)
|| (vprosvasis4.getText().toString() == " ")
|| (vprosvasis4.getText().length() == 0)
|| (vprosvasis5.getText().toString() == " ")
|| (vprosvasis5.getText().length() == 0)
|| (vprosvasis6.getText().toString() == " ")
|| (vprosvasis6.getText().length() == 0)
) {
show = new AlertDialog.Builder(mContext).setTitle("Error")
.setMessage("Symplirwste olous tous vathmous prosvasis")
.setPositiveButton("OK", null).show();
}
else if (((vprosvasis7.getText().toString() != " ")
|| (vprosvasis7.getText().length() != 0)))
{
float genikosvathmos = (float) ((new Float(vprosvasis.getText().toString())
+ new Float(vprosvasis7.getText().toString())
+ new Float(vprosvasis2.getText().toString())
+ new Float(vprosvasis3.getText().toString())
+ new Float(vprosvasis4.getText().toString())
+ new Float(vprosvasis5.getText().toString()) + new Float(
vprosvasis6.getText().toString()))/7);
float vprosvasisFloat = Float.parseFloat(vprosvasis.getText().toString());
float vprosvasisFloat2 = Float.parseFloat(vprosvasis2.getText().toString());
float vprosvasisFloat7 = Float.parseFloat(vprosvasis7.getText().toString());
float vprosvasisFloat5 = Float.parseFloat(vprosvasis5.getText().toString());
moria = (float) (((new Float((genikosvathmos * 8)+ (vprosvasisFloat * 1.3)+ (vprosvasisFloat2 * 0.7)) * 100)));
moria2 = (float) (((new Float((genikosvathmos * 8)+ (vprosvasisFloat7 * 1.3)+ (vprosvasisFloat5 * 0.7)) * 100)));
// Toast.makeText(thetiki.this, "Genikos vathmos"+moria ,
// Toast.LENGTH_SHORT).show();
// 1o pedio
show = new AlertDialog.Builder(mContext).setTitle("moria")
.setMessage( "1o pedio: " + moria + "\n2o pedio: "
+ moria + "\n3o pedio: " + moria
+ "\n4o pedio: " + moria
+ "\n5o pedio: "+moria2)
.setPositiveButton("OK", null).show();
}
else if ((vprosvasis.getText().toString()!= " ")
|| (vprosvasis.getText().length() != 0)
|| (vprosvasis2.getText().toString() != " ")
|| (vprosvasis2.getText().length() != 0)
|| (vprosvasis3.getText().toString() != " ")
|| (vprosvasis3.getText().length() != 0)
|| (vprosvasis4.getText().toString() != " ")
|| (vprosvasis4.getText().length() != 0)
|| (vprosvasis5.getText().toString() != " ")
|| (vprosvasis5.getText().length() != 0)
|| (vprosvasis6.getText().toString() != " ")
|| (vprosvasis6.getText().length() != 0)
&&((vprosvasis7.getText().toString()== " ")
|| (vprosvasis7.getText().length() == 0))
)
{
float genikosvathmos = (float) ((new Float(vprosvasis
.getText().toString())
+ new Float(vprosvasis2.getText().toString())
+ new Float(vprosvasis3.getText().toString())
+ new Float(vprosvasis4.getText().toString())
+ new Float(vprosvasis5.getText().toString()) + new Float(
vprosvasis6.getText().toString()))/6);
float vprosvasisFloat = Float.parseFloat(vprosvasis.getText().toString());
float vprosvasisFloat2 = Float.parseFloat(vprosvasis2.getText().toString());
moria=(float) (((new Float ((genikosvathmos*8)+(vprosvasisFloat * 1.3)+(vprosvasisFloat2 * 0.7))*100)));
// Toast.makeText(thetiki.this, "Genikos vathmos"+moria , Toast.LENGTH_SHORT).show();
show = new AlertDialog.Builder(mContext).setTitle("moria")
.setMessage("1o pedio: "+moria+"\n2o pedio: "+moria+"\n3o pedio: "+moria+"\n4o pedio: "+moria+"\n5o pedio: -")
.setPositiveButton("OK", null).show();
}
}
});
vprosvasis,vprosvasis2
..等是使用了3如果/ else.the首先检查进入editText.i数如果6第一封ditext是空的,如果没有,则有警报。第二个想要检查vprosvasis7
是否为空,然后进行计算。最后,第三个要检查是否使用vprosvasis7
,然后进行新的计算。 。这是不工作..具体来说,第一个如果工作,第二个工程两个,但如果我没有填写第七editext,第三如果堆叠并强制我的应用程序..
你的帮助将是非常非常乐于助人..
编辑
logcat的时候第7 editext是空的,我按下BTN '阿波斯托利'
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): FATAL EXCEPTION: main
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): java.lang.NumberFormatException:
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at org.apache.harmony.luni.util.FloatingPointParser.parseFloat(FloatingPointParser.java:305)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at java.lang.Float.parseFloat(Float.java:291)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at java.lang.Float.<init>(Float.java:111)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at kostas.menu.moria.thetiki$8.onClick(thetiki.java:396)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at android.view.View.performClick(View.java:2461)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at android.view.View$PerformClick.run(View.java:8888)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at android.os.Handler.handleCallback(Handler.java:587)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at android.os.Handler.dispatchMessage(Handler.java:92)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at android.os.Looper.loop(Looper.java:123)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at android.app.ActivityThread.main(ActivityThread.java:4627)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at java.lang.reflect.Method.invokeNative(Native Method)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at java.lang.reflect.Method.invoke(Method.java:521)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:858)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)
02-23 23:51:27.234: ERROR/AndroidRuntime(5739): at dalvik.system.NativeStart.main(Native Method)
02-23 23:51:27.249: WARN/ActivityManager(2944): Force finishing activity kostas.menu.moria/.thetiki
02-23 23:51:27.300: INFO/(2944): dumpmesg > "/data/log/dumpstate_app_error.log"
嗯..什么是你的错误?附上你的堆栈跟踪。 – 2011-02-23 21:44:03
这个问题是编辑的,包括我的logCat – 2011-02-23 21:54:02
thetiki.java:396是第一行中的行如果:+ new Float(vprosvasis7.getText()。toString()) – 2011-02-23 22:19:23