Java Android-If-then不';不工作。。?

Java Android-If-then不';不工作。。?,java,android,Java,Android,我在这里碰到一堵巨大的墙。我得到了检查数据库结果的代码: chosenSlotDAO.open(); Log.d("id", chosenSlotDAO.getId()); Log.d("isParked", chosenSlotDAO.getIsParked()); Log.d("parkedRow", chosenSlotDAO.getParkedRow()); Log.d("selectedSlot", chosenSlotD

我在这里碰到一堵巨大的墙。我得到了检查数据库结果的代码:

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);
        }
工作

在代码中我哪里做错了GG??告诉我我有没有留下任何需要的信息

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

您应该使用
等于
方法来比较
字符串
对象,而不是
==运算符


有关完整的解释,请参见以下问题:

您应该重新表述您的问题。