मुझे एक अजीब समस्या हो रही है। मैं targetdk 13 के साथ एक ऐप बना रहा हूं।
मेरी मुख्य गतिविधि की getActionBar()
ऑनक्रिट विधि में मैं अपने एक्शनबार को सेटअप करने के लिए कॉल करता हूं। एंड्रॉइड 3.2 एमुलेटर पर चलने पर यह ठीक काम करता है, लेकिन एंड्रॉइड 3.0 और 3.1 का getActionBar()
उपयोग करते समय विधि शून्य हो जाती है।
मुझे यह बहुत अजीब लगता है, और मैं ऐसा करने का कोई कारण नहीं देख सकता। क्या यह एमुलेटर के साथ एक बग है या क्या मुझे कुछ करना है, ताकि यह सुनिश्चित हो सके कि मेरे आवेदन में एक्शनबार है?
समाधान:
मुझे लगता है कि मुझे इस समस्या का हल मिल गया है। मैं गतिविधि के लिए एक लेआउट सेट करने के लिए setContentView का उपयोग नहीं कर रहा था। इसके बजाय मैं fragmentTransaction.add(android.R.id.content, mFragment, mTag)
गतिविधि में एक टुकड़ा जोड़ने के लिए उपयोग कर रहा था । 3.2 में यह ठीक काम करता है, लेकिन पहले के छत्ते के संस्करणों में एक्शन बार स्पष्ट रूप से सेट नहीं किया जाता है यदि आप सेटकोन्ट व्यू का उपयोग नहीं करते हैं onCreate()
। इसलिए मैंने इसे setContentView()
अपने onCreate()
तरीके से विधि का उपयोग करके तय किया और बस एक लेआउट के साथ इसकी आपूर्ति की जिसमें एक खाली फ्रेमलैट शामिल था। मैं अब भी fragmentTransaction.add(android.R.id.content, mFragment, mTag)
पहले की तरह विधि का उपयोग कर सकता हूं ।
यह सबसे अच्छा फिक्स नहीं है, लेकिन यह काम करता है।