मुझे इसे अक्षम करने के बाद भी OrientationEventListener
रिपोर्टिंग ईवेंट के साथ कोई समस्या हो रही है।onOrientationChanged() को ओरिएंटेशनइवेंट लिस्टनर अक्षम किया गया है जब
मैं एक टैब लेआउट में तीन टुकड़ों के साथ काम कर रहा हूं, और केवल टुकड़ों में से एक को अभिविन्यास परिवर्तन की आवश्यकता है। जब मैं इस टुकड़े से दूर चलेगा, तो मैं अभिविन्यास घटनाओं को प्रभाव डालना चाहता हूं।
@Override
public void onActivityCreated(Bundle savedInstanceState)
{
super.onActivityCreated(savedInstanceState);
if (orientationEventListener == null)
{
Log.w(LogTags.MOBILE_MONITOR, "Creating orientationListener in " + this.toString());
orientationEventListener = new OrientationEventListener(getActivity(), SensorManager.SENSOR_DELAY_NORMAL) {
@Override
public void onOrientationChanged(int angle) {
...Do work using getActivity()...
}
};
}
}
@Override
public void onResume() {
super.onResume();
orientationEventListener.enable();
}
@Override
public void onPause() {
super.onPause();
orientationEventListener.disable();
}
समस्या आता है जब मैं टुकड़ा स्विच डिवाइस चलती है, जबकि:
मेरी कोड के जीवन चक्र के भाग इस प्रकार है। जब मैं onOrientationChanged(int angle)
OrientationEventListener
में getActivity()
पर कॉल करने का प्रयास करता हूं, तो कॉल शून्य लौटाता है, जिसका अर्थ है कि यदि मैं इसका उपयोग करने का प्रयास करता हूं तो मुझे शून्य सूचक अपवाद मिलता है।
जबकि मैं यहां एक शून्य जांच जोड़ सकता हूं, मैं सिर्फ यह जानना चाहता हूं कि जब मैंने श्रोता को स्पष्ट रूप से अक्षम कर दिया है तो मुझे एक अभिविन्यास कार्यक्रम क्यों मिल रहा है। यदि मैं विफलता के बिंदु पर OrientationEventListener
का निरीक्षण करता हूं, तो यह mEnabled=false
की रिपोर्ट भी करता है। क्या मेरे श्रोता को प्रचारित होने से रोकने का कोई तरीका है?
हाय स्लेके, क्या आपको इसके लिए कोई समाधान मिला है। मुझे एक ही समस्या का सामना करना पड़ रहा है। –