Можем ли мы иметь редактировать текст в качестве пункта меню в Android 3.0 сота - PullRequest
0 голосов
/ 30 ноября 2011

Можем ли мы иметь текстовое поле редактирования в нашем меню, которое отображается на панели действий, и если мы можем, то как мы можем получить события щелчка для этого текста редактирования?

Ответы [ 3 ]

4 голосов
/ 06 декабря 2011

Я нашел решение.Это делается так (только для Android 3.0 сота). Поместить текст редактирования в панель действий для размещения элементов, используйте этот тег в вашем элементе в меню xml

android:actionLayout="@layout/search_bar"

определить текст редактирования и кнопку на панели поискаlayout.

Теперь для привлечения слушателей сделайте это следующим образом - в 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);

, а затем разместите слушателей для этих элементов.Это будет нормально работать

0 голосов
/ 30 ноября 2011

Я не пробовал, но вы можете использовать actionlayout из кода?таким образом, вы можете использовать текстовое поле таким образом:

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. 
//

Я на работе, поэтому я не могу провести какое-то исследование, так что это всего лишь предположения ...

0 голосов
/ 30 ноября 2011

Вы можете добавить панель поиска к панели действий, но не как пункт меню ... что вы вообще понимаете под словом "пункт меню"?

...