应用程序崩溃,动态edittext,列表等 - java

在过去的2-3个小时里,我一直在进行更改,试图找出我哪里出了问题。我认为通过尝试修复它,情况变得更糟...请您看一眼,告诉我我哪里出了问题?
我想做的是:动态创建editexts(每次按下按钮2个)。值进入2个列表(editexts的每一列一个)。从那里它们彼此相乘并进入第三个列表然后将所有值相加,并给我总计。

我知道它还没有完成,但是我停止了前进,因为它开始崩溃了...
这是代码:

    List<EditText> allpret = new ArrayList<EditText>();
List<EditText> allcant = new ArrayList<EditText>();
List<Float> alltotal = new ArrayList<Float>();


public void produsnou(View v) {
    LinearLayout l1 = (LinearLayout) findViewById(R.id.layout1);
    EditText et = new EditText(this);
    et.setHint("Produs");
    l1.addView(et);

    LinearLayout l2 = (LinearLayout) findViewById(R.id.layout2);
    EditText et2 = new EditText(this);
    et2.setHint("Cantitate");
    et2.setInputType(InputType.TYPE_CLASS_NUMBER
            | InputType.TYPE_NUMBER_FLAG_DECIMAL);

    allcant.add(et2);
    l2.addView(et2);

    LinearLayout l3 = (LinearLayout) findViewById(R.id.layout3);
    EditText et3 = new EditText(this);
    et3.setHint("Pret");
    et3.setInputType(InputType.TYPE_CLASS_NUMBER
            | InputType.TYPE_NUMBER_FLAG_DECIMAL);
    l3.addView(et3);

    allpret.add(et3);

}

float temp=0;

public void calculeaza(View v) {
    String[] cant = new String[allcant.size()];
    for (int j = 0; j < allcant.size(); j++) {
        cant[j] = allcant.get(j).getText().toString();}

        String[] pret = new String[allcant.size()];


        for (int k = 0; k < allpret.size(); k++) {
            pret[k] = allpret.get(k).getText().toString();}

         Float[] totaluri = new Float[alltotal.size()];

         for(int l=0;l<allpret.size();l++){


            Float temp = Float.parseFloat(cant[l]) * Float.parseFloat(pret[l]);
            alltotal.add(temp);

            totaluri[l] = temp  ;   }



        TextView totalf = (TextView) findViewById(R.id.total);
        totalf.setText("Total: " +totaluri[1]); }

这是logcat:

06-09 04:03:58.230: E/AndroidRuntime(22651): java.lang.IllegalStateException: Could not execute method of the activity
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.view.View$1.onClick(View.java:3704)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.view.View.performClick(View.java:4232)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.view.View$PerformClick.run(View.java:17318)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.os.Handler.handleCallback(Handler.java:615)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.os.Handler.dispatchMessage(Handler.java:92)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.os.Looper.loop(Looper.java:137)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.app.ActivityThread.main(ActivityThread.java:4921)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at java.lang.reflect.Method.invokeNative(Native Method)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at java.lang.reflect.Method.invoke(Method.java:511)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1038)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:805)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at dalvik.system.NativeStart.main(Native Method)
06-09 04:03:58.230: E/AndroidRuntime(22651): Caused by: java.lang.reflect.InvocationTargetException
06-09 04:03:58.230: E/AndroidRuntime(22651):    at java.lang.reflect.Method.invokeNative(Native Method)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at java.lang.reflect.Method.invoke(Method.java:511)
06-09 04:03:58.230: E/AndroidRuntime(22651):    at android.view.View$1.onClick(View.java:3699)
06-09 04:03:58.230: E/AndroidRuntime(22651):    ... 11 more
06-09 04:03:58.230: E/AndroidRuntime(22651): Caused by: java.lang.ArrayIndexOutOfBoundsException: length=0; index=0
06-09 04:03:58.230: E/AndroidRuntime(22651):    at com.example.testlayout.MainActivity.calculeaza(MainActivity.java:76)
06-09 04:03:58.230: E/AndroidRuntime(22651):    ... 14 more
06-09 04:03:58.260: D/dalvikvm(22651): GC_CONCURRENT freed 234K, 11% free 7248K/8135K, paused 2ms+2ms, total 36ms

java大神给出的解决方案

浮点数是一个包含基本浮点数的对象。它不是数字。它是一个拥有数字的对象。

这行似乎超级蠕动:

Float temp = Float.parseFloat(cant[l]) * Float.parseFloat(pret[l]);

您打算怎么做?

也许您想要这样的事情:

float floatValue = Float.parseFloat(cant[l]) * Float.parseFloat(pret[l]);
Float temp = Float(floatValue);

您当然可以将它们连接成一行。但是我认为,向您展示这种方式应该发生的事情比较容易。

java:继承 - java

有哪些替代继承的方法? java大神给出的解决方案 有效的Java:偏重于继承而不是继承。 (这实际上也来自“四人帮”)。他提出的理由是,如果扩展类未明确设计为继承,则继承会引起很多不正常的副作用。例如,对super.someMethod()的任何调用都可以引导您通过未知代码的意外路径。取而代之的是,持有对本来应该扩展的类的引用,然后委托给它。这是与Eric…

如何修改休眠的SQL查询? - java

我有点好奇,有没有办法修改hibernate的核心,以便我可以自定义生成的SQL query。例如,在生成的查询中添加功能以使用connect by prior(oracle)或我要自定义的任何其他子句。 java大神给出的解决方案 起初,这样的问题总是在我心中敲响警钟。你被警告了...AFAIK,hibernate使用所谓的dialects进行特定的优化。…

用Java构建大批量数据处理工具 - java

Closed. This question needs to be more focused。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。 3年前关闭。 Improve this question 我正在尝试使用Java构建ETL工具。 ETL工具用于对大量数据(关系型和其他类型)进行批量读取,…

用Java封装对象? - java

private中的Java提供类级别的封装。可以封装一个对象吗?还是这样做徒劳?例如,如果我们将一个类定义为 public class Person { private String ssn; private ArrayList<Person> friends = new ArrayList<Person>(); public voi…

光学标记阅读器的开源库 - java

Closed. This question does not meet Stack Overflow guidelines。它当前不接受答案。 想改善这个问题吗?更新问题,以使为on-topic。 6年前关闭。 Improve this question 我想要一个用于光学标记读取(OMR)的开源库,有没有这样的库?我想将此库与我的Java应用程序一起使用。…