मैं एंड्रॉयड 3+एंड्रॉयड कार्रवाई बार onNavigationItemSelected
के लिए विकसित कर रहा हूँ मेरी कार्रवाई बार में मैं एक ड्रॉपडाउन सूची (लटकती मैं इरादा के लिए how to hide/unhide the actionbar list on android 3? देखें)। समस्या यह है कि जब उपयोगकर्ता कुछ चुनता है तो मुझे एक निश्चित कार्रवाई करने की आवश्यकता होती है, लेकिन एंड्रॉइड ने नेविगेशन इटैम सेलेक्टेड() को कॉल के रूप में देखा है, इसलिए कोई चयन वास्तव में नहीं हुआ है।
उपयोगकर्ता कैसे वास्तव में कुछ दबाएगा और यह एंड्रॉइड से नकली कॉल नहीं है, तो मैं कैसे पता लगा सकता हूं?
public class ListDittaListener implements OnNavigationListener{
private BaseActivity activity;
private ListDittaListener()
{
}
public ListDittaListener(BaseActivity activity)
{
this.activity = activity;
}
@Override
public boolean onNavigationItemSelected(int itemPosition, long itemId)
{
MyApp appState = ((MyApp)this.activity.getApplicationContext());
appState.setDittaSelezionata((int) itemId);
SharedPreferences settings = this.activity.getSharedPreferences(MyApp.PREFS_NAME, 0);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("ditta_id_selezionata", (int) itemId);
////////restart activity this.activity.recreate();
return false;
}
}
धन्यवाद लेकिन जैसा कि मैंने बक्षीस विवरण में लिखा था, "मैं चाहूंगा काउंटर का उपयोग करने से पहले और पहली कॉल को अनदेखा करने से बचें ", यह एक हैक की तरह दिखता है, मैं समझना चाहता हूं कि यह पहली जगह क्यों खुश है – max4ever
मेरे पास एक ही समस्या है और इसे इस तरह से हैक करने के लिए बहुत परेशान है। क्या इस तरह के व्यवहार का कोई उद्देश्य है? –
मैंने इस समाधान का उपयोग फ्रैगमेंट को दो बार फिर से बनाया जाने से रोकने के लिए किया था जब स्क्रीन अभिविन्यास बदलता है और उनके राज्य को खो देता है। [यहां] देखें (http://stackoverflow.com/a/14295474/963396)। –