2015-06-14 29 views
-3

我在这里打了一堵巨大的墙。我得到了这个代码检查数据库结果:Android - 如果然后不工作..?

chosenSlotDAO.open(); 
     Log.d("id", chosenSlotDAO.getId()); 
     Log.d("isParked", chosenSlotDAO.getIsParked()); 
     Log.d("parkedRow", chosenSlotDAO.getParkedRow()); 
     Log.d("selectedSlot", chosenSlotDAO.getSelectedSlot()); 
     String idStatus = chosenSlotDAO.getId(); 
     String isParkedStatus = chosenSlotDAO.getIsParked(); 
     String parkedRowStatus = chosenSlotDAO.getParkedRow(); 
     String selectedSlotStatus = chosenSlotDAO.getSelectedSlot(); 
     final String outputA = this.getOutput(this, slotA); 

     if(idStatus == id && isParkedStatus == isParked && parkedRowStatus != parkedA && selectedSlotStatus != slotA) 
     { 
      arriveTView.setText(alreadyParked + chosenSlotDAO.getParkedRow()); 
     } 
     else if(idStatus == id && isParkedStatus == isNotParked && parkedRowStatus != parkedA && selectedSlotStatus != slotA) 
     { 
      Toast.makeText(getApplicationContext(), 
       wrongParkingRow, 
       Toast.LENGTH_LONG).show(); 
      chosenSlotDAO.updateSlot(id, slotA, parkedA, isParked); 
     } 
     else if(idStatus == id && isParkedStatus == isParked && parkedRowStatus == parkedA && selectedSlotStatus == slotA) 
     { 
      chosenSlotDAO.updateSlot(id, slotA, setEmpty, isNotParked); 

      dbUpdateAdd.execute(slotA); 
      Intent myIntent = new Intent(ParkAArrive.this, ParkLeaving.class); 
      ParkAArrive.this.startActivity(myIntent); 
     } 
     else if(outputA.isEmpty()) 
     { 
      arriveTView.setText(isFull); 
     } 

     else 
     { 
      Toast.makeText(getApplicationContext(), 
        nowParked, 
        Toast.LENGTH_LONG).show(); 
      chosenSlotDAO.updateSlot(id, slotA, parkedA, isParked); 
      arriveTView.setText(chosenSlotDAO.getSelectedSlot()); 
      dbUpdate.execute(slotA); 
     } 

该类是通过点击NFC标签启动的。

logcat的回报:

06-15 04:35:10.818: D/id(12294): 1 
06-15 04:35:10.818: D/isParked(12294): 1 
06-15 04:35:10.819: D/parkedRow(12294): ParkedA 
06-15 04:35:10.819: D/selectedSlot(12294): SlotA 
06-15 04:35:10.829: D/link(12294): http://parkit.byethost9.com/db_show_slot.php?slot_name=SlotA 
06-15 04:35:11.681: D/line(12294): 14 

它清楚地表明该用户被停,parkedRow是ParkedA和SlotA是SlotA。但if不起作用。

但是,当我再次开始活动,没有什么不同之处

else if(outputA.isEmpty()) 
     { 
      arriveTView.setText(isFull); 
     } 

     else 
     { 
      Toast.makeText(getApplicationContext(), 
        nowParked, 
        Toast.LENGTH_LONG).show(); 
      chosenSlotDAO.updateSlot(id, slotA, parkedA, isParked); 
      arriveTView.setText(chosenSlotDAO.getSelectedSlot()); 
      dbUpdate.execute(slotA); 
     } 

作品。

在代码中我做错了什么?告诉我,如果我留下任何所需的信息untold ..

更新: 似乎我需要更改我的代码,以便它可以比较String,是的这是我面临的问题。

+0

您应该重新表达您的问题。 – AnixPasBesoin

回答