काम नहीं कर रहा है मैं एक एंड्रॉइड ऐप लिख रहा हूं जो बहुत सी चीजें करता है। मैंने हाल ही में एक बेहतर संरचना के लिए अपने कोड को दोबारा प्रतिक्रिया दी, लेकिन अचानक मुझे बहुत अजीब समस्या हो रही है।आईएफ कथन सिर्फ
handleRequest(String str)
{
boolean foo = executeCommand(str);
this.publishProgress("FOO1: " + foo);
if (foo == false);
{
this.publishProgress("FOO2: " + foo);
sendString("Failed to execute: " + str);
}
this.publishProgress("FOO3: " + foo);
sendEOM();
}
कोड के ऊपर एक आदेश पर अमल करना चाहिए, और साथ करता है, तो आदेश सही ढंग से क्रियान्वित किया गया था दुकान 'foo'। यह कोड एंड्रॉइड AsyncTask (थ्रेड) के अंदर है इसलिए मैं टोस्ट दिखाने के लिए 'publprrogress' का उपयोग करता हूं।
मैं डीबगर के माध्यम से फ़्लिप कर रहा हूं और भोजन सच है! टोस्ट्स फू को पूरे तरीके से सच साबित करने के लिए दिखाते हैं। हालांकि, यह आगे बढ़ता है और आईएफ ब्लॉक के अंदर कूदता है और उसे भी निष्पादित करता है। मैंने इसे पहले कभी नहीं देखा है, मुझे लगता है कि यह जावा के साथ एक समस्या है। मैं फ़ंक्शन 'executeCommand' के बावजूद कदम बढ़ा रहा था और ऐसा लगता है कि यह रिटर्न स्टेटमेंट भी छोड़ रहा है।
मैंने वर्चुअल डिवाइस पर कोड चलाया है और एक असली है और वे दोनों ऐसा करते हैं।
कोई विचार? मैं यहाँ पूरी तरह से एक नुकसान में हूँ।
अगर बयान –
नहीं आपकी समस्या के बाद अर्धविराम हटाने की जरूरत है, लेकिन स्वच्छ और साफ 'का उपयोग करता है, तो (! Foo)' बजाय करने के लिए। – dimo414
@ dimo414 ठीक है, मैं इसे पोस्ट करने के समय निराश हो रहा था, इसलिए मैंने इसे "FOO == FALSE" में बदल दिया ताकि यह इतना स्पष्ट हो कि मैं कुछ भी गलत नहीं देख सका। – yellow