如果声明不能正常工作

时间:2015-04-19 10:02:09

标签: android if-statement

我使用下面的代码做一些动作。我检查输入参数以遵循方式。使用调试输出它应该是TABLENAME1方式(Log.d),但在应用程序的执行中它是TABLENAME2。我的调试输出是:

04-19 11:56:15.337: D/Button(19894): Ausbuchen
04-19 11:56:15.337: D/isBox(19894): true
04-19 11:56:15.337: D/ART(19894): F
04-19 11:56:15.337: D/TABLENAME2(19894): IWRP_LLBX_19.04.2015

isBox是真的,Art是“F”所以它应该是第一种方式,但它不是。

你可以帮我解释一下原因吗?

public void onClick(View view) {
                Log.d("Button", "Ausbuchen");
                betriebszahlneu = etBetriebszahl.getText().toString();
                Log.d("isBox", Boolean.toString(GlobalClass.isBox));
                Log.d("ART", StaffActivity.art);
                if(GlobalClass.isBox = true){
                    if(StaffActivity.art == "F"){
                        GeraeteVersand geraetversand = new GeraeteVersand();
                        geraetversand.setEan(StaffActivity.ean);
                        geraetversand.setBezeichnung(StaffActivity.bezeichnung);
                        geraetversand.setBetriebszahl(betriebszahlneu);
                        geraetversand.setArt(StaffActivity.art);
                        geraetversand.setTablename(SelectKostActivity.KOST + "_" + StaffActivity.stammkost + "_" + GlobalClass.date);
                        Log.d("TABLENAME1",geraetversand.getTablename());
                        GlobalClass.geraeteversand.add(geraetversand);
                    } else {
                        GeraeteVersand geraetversand = new GeraeteVersand();
                        geraetversand.setEan(StaffActivity.ean);
                        geraetversand.setBezeichnung(StaffActivity.bezeichnung);
                        geraetversand.setBetriebszahl(betriebszahlneu);
                        Log.d("art", StaffActivity.art);
                        geraetversand.setArt(StaffActivity.art);
                        geraetversand.setTablename(SelectKostActivity.KOST + "_" + GlobalClass.KOST_NEW + "_" + GlobalClass.date);
                        Log.d("TABLENAME2",geraetversand.getTablename());
                        GlobalClass.geraeteversand.add(geraetversand);  
                        }
                }
                else {
                    GeraeteVersand geraetversand = new GeraeteVersand();
                    geraetversand.setEan(StaffActivity.ean);
                    geraetversand.setBezeichnung(StaffActivity.bezeichnung);
                    geraetversand.setBetriebszahl(betriebszahlneu);
                    geraetversand.setArt(StaffActivity.art);
                    geraetversand.setTablename(SelectKostActivity.KOST + "_" + GlobalClass.KOST_NEW + "_" + GlobalClass.date);
                    Log.d("TABLENAME3",geraetversand.getTablename());
                    GlobalClass.geraeteversand.add(geraetversand);  

                }

1 个答案:

答案 0 :(得分:2)

使用.equals而非==比较字符串。

所以用if (StaffActivity.art == "F")替换if (StaffActivity.art.equals("F"))