मैं कार्ट आइटम में गिनती दिखाने के लिए मेनू अप बार में कस्टम लेआउट बढ़ा रहा हूं और मैं आइटम क्लिक के साथ प्राप्त करता हूं। यहां मेनू में गिनती दिखाना या सेट करना कैसे संभव है? मैं थोड़ा भ्रमित हूँ। यदि यह संभव है तो कोई विचार कैसे?
मैंने यह कोशिश की है
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.home_screen, menu);
final Menu m = menu;
final MenuItem item = menu.findItem(R.id.nav_cart);
item.getActionView().setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(HomeScreen.this, "hello", Toast.LENGTH_SHORT).show();
}
});
कस्टम लेआउट एक्सएमएल। तो यहाँ मैं बैज काउंट सेट करना चाहता हूँ, लेकिन कैसे?
फ़ाइल
<RelativeLayout
android:id="@+id/cart"
android:layout_width="wrap_content"
android:layout_marginTop="15dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:layout_height="wrap_content">
<ImageView
android:id="@+id/cart_bag"
android:layout_width="25dp"
android:layout_height="25dp"
app:srcCompat="@drawable/bag" />
<com.nex3z.notificationbadge.NotificationBadge
android:id="@+id/badge"
android:layout_width="20dp"
android:layout_alignParentTop="true"
android:layout_alignTop="@id/cart_bag"
android:layout_height="20dp"
app:nbBackground="@drawable/badge_bg_with_shadow"
android:layout_marginLeft="15dp"
app:nbMaxTextLength="2"/>
</RelativeLayout>
मेनू आइटम
android:id="@+id/nav_cart"
android:orderInCategory="15"
android:title="@string/action_settings"
app:actionLayout="@layout/custom_layout_cart"
app:showAsAction="always"
2 जवाब
प्रोग्रामिक रूप से कस्टम लेआउट जोड़ने का प्रयास करें..इस तरह
final MenuItem item = menu.findItem(R.id.nav_cart);
MenuItemCompat.setActionView(item, R.id.custom_layout_cart);
actionView = MenuItemCompat.getActionView(item);
ImageView btn = (ImageView) actionView.findViewById(R.id.cart_bag);
NotificationBadge count = (TextView) actionView.findViewById(R.id.badge);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(HomeScreen.this, "hello", Toast.LENGTH_SHORT).show();
}
});
अपने कस्टम-बैज लेआउट से टेक्स्टव्यू में गिनती मान सेट करने का प्रयास करें।
val tvCartCount = actionView.findViewById(R.id.your_cart_count_id) as TextView
tvCartCount.text = "Your Cart Value"
बेहतर समझ के लिए आप इस समाधान का संदर्भ ले सकते हैं।
संबंधित सवाल
जुड़े हुए प्रश्न
नए सवाल
java
जावा एक उच्च स्तरीय प्रोग्रामिंग भाषा है। इस टैग का उपयोग तब करें जब आपको भाषा का उपयोग करने या समझने में समस्या हो। इस टैग का उपयोग शायद ही कभी किया जाता है और इसका उपयोग अक्सर [वसंत], [वसंत-बूट], [जकार्ता-ई], [Android], [javafx], [हडूप], [श्रेणी] और [मावेन] के साथ किया जाता है।