Sto tentando di aggiungere una vista personalizzata alla nuova barra degli strumenti (Lollipop). Ma in qualche modo la vista viene aggiunta sotto la barra degli strumenti. Funzionava bene quando ho usato actionBar.setCustomView ma ora dopo la migrazione alla barra degli strumenti, non funziona. Di seguito è riportato il codice. Quali cambiamenti dovrebbero essere fatti?Aggiunta di una vista personalizzata a una barra degli strumenti
Frammento:
toolbar = (Toolbar) getView().findViewById(R.id.toolbar);
((ActionBarActivity) getActivity()).setSupportActionBar(toolbar);
toolbar.setTitle(getString(R.string.app));
ActionBar actionBar = ((ActionBarActivity) getActivity())
.getSupportActionBar();
actionBar.setDisplayOptions(ActionBar.DISPLAY_SHOW_CUSTOM);
LayoutInflater inflater = (LayoutInflater) getActivity()
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// inflate the view
final View view = inflater.inflate(R.layout.actionbar_search, null);
final ImageView searchIcon = (ImageView) view
.findViewById(R.id.search_icon);
final ClearableAutoCompleteTextView searchBox = (ClearableAutoCompleteTextView) view
.findViewById(R.id.search_box);
// start with the text view hidden in the action bar
searchBox.setVisibility(View.INVISIBLE);
searchIcon.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
toggleSearch(false, view);
}
});
searchBox.setOnClearListener(new OnClearListener() {
@Override
public void onClear() {
toggleSearch(true, view);
}
});
searchBox.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view,
int position, long id) {
}
});
toolbar.addView(view);
// actionBar.setCustomView(view); // This worked previously
//((ActionBarActivity)getActivity()).getSupportActionBar().setCustomView(view); //doesnt work with toolbar
Ho provato a utilizzare l'appcompat 'Toolbar.addView()' ma non funziona. – patrickjason91
Non funziona anche per me –
^prova a rimuovere il setSupportActionBar() – Clocker