का उपयोग कर मैं इसजब कस्टम क्रिया दृश्य
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.loop_thread, menu);
ImageView iv = (ImageView)(getLayoutInflater().inflate(R.layout.image_container, null));
menu.findItem(R.id.action_filter).setActionView(iv);
...
की तरह मेरे ActionBar मेनूबार में से एक के लिए एक कस्टम दृश्य निर्धारित करते हैं लेकिन जब मैं अपने एप्लिकेशन में उस मेनू आइटम टैप करते हैं, onOptionsItemSelected()
बुलाया नहीं प्राप्त करता है कहा जाता हो रही है नहीं onOptionsItemSelected। (मैंने विधि की शुरुआत में ब्रेकपॉइंट सेट करके इसे सत्यापित किया है)। यदि मैं अन्य बटन टैप करता हूं, तो एक्शन बार में, ऑप्शन इटैम चयन() को कॉल किया जाता है।
<?xml version="1.0" encoding="utf-8"?>
<ImageView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/ibtnFilterMenu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@android:color/darker_gray"
android:src="@drawable/btn_action_down_arrow"
style = "@android:style/Widget.ActionButton"/>
मैं भी मेनू xml फ़ाइल पर कार्रवाई दृश्य की स्थापना की कोशिश की है:
<item android:id="@+id/action_filter"
android:title="@string/filter_options"
android:actionLayout="@layout/image_container"
android:orderInCategory="100"
android:showAsAction="ifRoom" />
नोट: मैं जानता हूँ कि मैं कर सकते हैं
यहाँ rmy कस्टम दृश्य के लिए एक्सएमएल कोड है छवि क्लिक करने योग्य, और इसके लिए मैन्युअल रूप से ऑनक्लिक लिस्टनर सेट करें, लेकिन सीखने के लिए, मैं इसके नीचे जाना चाहता हूं।
और आपकी 'ऑनऑप्शन इटैम चयन()' विधि कैसा दिखता है? – Sajmon
इससे कोई फर्क नहीं पड़ता, मेरे पास विधि की शुरुआत में एक ब्रेकपॉइंट सेट है, और इसे बिल्कुल भी नहीं कहा जाता है। – Siavash
क्या आपने 'setActionView' विधि को आजमाया है, जो दृश्य के बजाय संसाधन आईडी स्वीकार करता है, आप मैन्युअल रूप से फुलाते हैं? –