Ankit
Ankit

Reputation: 4644

Can we have an edit text as a menu item in android 3.0 honeycomb

Can we have an edit text box inside our menu which gets displayed in the action bar and if we can then how can we get click events on this edit text ?

Upvotes: 0

Views: 2970

Answers (3)

Ankit
Ankit

Reputation: 4644

I found the solution. It is done like this (only for android 3.0 honeycomb) Placing an edit text in action bar for placing the items use this TAG in your item in the menu xml

android:actionLayout="@layout/search_bar"

define edit text & button in the search_bar layout.

Now for getting listeners on them do it like this - in onCreateOptionsMenu()

et = (EditText) menu.findItem(R.id.search_bar).getActionView().findViewById(R.id.searchbar);        
findBtn = (ImageButton)menu.findItem(R.id.search_bar).getActionView().findViewById(R.id.find);

and then place listeners for these items. It will work fine

Upvotes: 4

Alioooop
Alioooop

Reputation: 465

I havent tried it but are you able to use actionlayout from code? in that way you could use get the Text box this way:

LayoutInflater inflater = (LayoutInflater) context.getSystemService(context.LAYOUT_INFLATER_SERVICE); 
LinearLayout wrapper = (LinearLayout) inflater.inflate(R.layout.random_layout, null); 
EditText editText = (EditText )wrapper.findViewById(R.id.edit); 

// 
//code to set the listener 
// 

// 
//set the android:actionLayout to wrapper etc. 
//

Im at work so I can't make some research so this is just speculations...

Upvotes: 0

Alioooop
Alioooop

Reputation: 465

You can add a search bar to the action bar but not as a menu item... what do you even meen with "as a menu item"?

Upvotes: 0

Related Questions