Отображение тулбара в приложении
В приложении есть тулбар, в нем несколько иконок по нажатию одной из них должно появляться меню поиска по WebView Но почему то, когда я добавляю код тулбара, в котором должен появляться поиск, все иконки меню пропадают. Вот код элементов тулбара
// Создаем LinearLayout для поисковых элементов
searchLayout = new LinearLayout(this);
searchLayout.setOrientation(LinearLayout.HORIZONTAL);
searchLayout.setVisibility(View.GONE);
// Создаем поле для ввода искомого текста
searchInput = new EditText(this);
searchInput.setLayoutParams(new LinearLayout.LayoutParams(0, LinearLayout.LayoutParams.WRAP_CONTENT, 1));
// Создаем кнопку "Поиск"
searchButton = new Button(this);
searchButton.setText("Поиск");
searchButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String query = searchInput.getText().toString();
myWebView.findAllAsync(query);
}
});
// Создаем кнопку "Назад"
backButton = new Button(this);
backButton.setText("Назад");
backButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
myWebView.findNext(false);
}
});
// Добавляем элементы поиска в searchLayout
searchLayout.addView(searchInput);
searchLayout.addView(searchButton);
searchLayout.addView(backButton);
// Добавляем WebView и searchLayout в основной макет
mainLayout.addView(searchLayout);
setContentView(mainLayout);
// Настраиваем Toolbar
Toolbar toolbar = new Toolbar(this);
toolbar.setTitle("WebView Search");
mainLayout.addView(toolbar, 0);
setActionBar(toolbar);
Вот так я отрабатываю нажатие на иконку поиска:
switch (item.getItemId()) {
case R.id.search:
if (item.getItemId() == 1) {
if (isSearchVisible) {
searchLayout.setVisibility(View.GONE);
} else {
searchLayout.setVisibility(View.VISIBLE);
}
isSearchVisible = !isSearchVisible;
return true;
}
Что я сделал не так?
Если убрать этот код, то иконки в тулбаре отображаются, но при нажатии на поиск, конечно, ничего не происходит:
// Настраиваем Toolbar
Toolbar toolbar = new Toolbar(this);
toolbar.setTitle("WebView Search");
mainLayout.addView(toolbar, 0);
setActionBar(toolbar);
Ответы (1 шт):
Автор решения: Ersten
→ Ссылка
Нашел решение
Нужно было просто использовать androidx.appcompat.widget.Toolbar;
вместо androidx.widget.Toolbar;