मेरे पास एक्शन बार में एक ध्वज/बुकमार्क बटन है जिसे मैं टॉगल करना चाहता हूं या नहीं, जिस पर Fragment ViewPager के संदर्भ में है।एंड्रॉइड: ViewPager में प्रत्येक टुकड़े के आधार पर एक्शनबार आइटम अपडेट करें?
यदि उपयोगकर्ता ViewPager में एक टुकड़ा झंडाता है, तो इसे सक्षम करने के लिए सेट किया जाएगा। जब उपयोगकर्ता अगले के लिए स्वाइप करता है, तो मैं एक्शन बार बटन को अनलॉक करने के लिए अपडेट करना चाहता हूं। अब, मैं दो मेनू आइटम रखने और एक को छुपाकर बटन की स्थिति को बदलने में सक्षम हूं, क्लिक करते समय एक दिखाएं।
यहाँ कार्यवाही बार बटन चालू करने के लिए मेरे गतिविधि में कोड है:
public boolean onOptionsItemSelected(MenuItem item) {
int currentItem = mPager.getCurrentItem();
switch (item.getItemId()) {
case R.id.menu_flag:
mFlagged = true;
supportInvalidateOptionsMenu();
return true;
case R.id.menu_unflag:
mFlagged = false;
supportInvalidateOptionsMenu();
return true;
}
}
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
MenuItem item_flag = menu.findItem(R.id.menu_flag);
MenuItem item_unflag = menu.findItem(R.id.menu_unflag);
if (mFlagged) {
//If flagged
//Show flagged item
item_flag.setVisible(false).setEnabled(false);
item_unflag.setVisible(true).setEnabled(true);
item_flag.isVisible();
} else {
//If not flagged
//Show unflagged icon
item_flag.setVisible(true).setEnabled(true);
item_unflag.setVisible(false).setEnabled(false);
}
return super.onPrepareOptionsMenu(menu);
}
समस्या मैं आ रही हैं कि मैं मेनू आइटम उपयोग नहीं कर सकते, & बटन की स्थिति बहाल बचाने है, यानी अगर यह खंड या FragmentPagerAdapter से ध्वजांकित या नहीं है।
मैं यह कैसे कर सकता हूं? मुझे एक्शन बार तक किस स्तर तक पहुंचा जाना चाहिए; गतिविधि, पेजर एडाप्टर या टुकड़े?
क्या आप अपना प्रश्न संक्षेप में लाने का प्रयास कर सकते हैं? जहां तक मैं इसे समझ गया, यह है: "मेरी गतिविधि कैसे जान सकती है कि वर्तमान में कौन सा टुकड़ा प्रदर्शित होता है, इसलिए मैं गतिविधि के अनुसार अपना एक्शनबार बदल सकता हूं", क्या यह सही है? – FWeigl
@ एस्कोरबिन यह एक ViewPager –