Я создал диалоговую модель нижнего листа, и она вылетает только на устройствах Oreo. Настоящим я прикрепил свой код вместе с ошибкой журнала, которая возникает только в устройствах, ориентированных на Oreo. Пожалуйста, предложите несколько возможных решений этой проблемы.
private void socialBottomMenu() {
// TODO Auto-generated method stub
sheet = new BottomSheet.Builder(Mica.this).sheet(
R.menu.create_account_bottom_sheet).show();
menu = sheet.getMenu();
for (int i = 0; i < menu.size(); i++) {
MenuItem item = menu.getItem(i);
SpannableString s = new SpannableString(item.getTitle());
s.setSpan(
new ForegroundColorSpan(getResources().getColor(
R.color.poptextcolor)), 0, s.length(), 0);
item.setTitle(s);
}
menu.getItem(0).setOnMenuItemClickListener(
new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return true;
}
});
menu.getItem(1).setOnMenuItemClickListener(
new MenuItem.OnMenuItemClickListener() {
@Override
public boolean onMenuItemClick(MenuItem item) {
// TODO Auto-generated method stub
return true;
}
});
}
// Ошибка журнала направила меня сюда ActionMenuItem.java
@Override
public MenuItem setNumericShortcut(char numericChar, int numericModifiers) {
return null;
}
// Ошибка журнала
java.lang.NullPointerException: Attempt to invoke interface method 'android.view.MenuItem android.view.MenuItem.setNumericShortcut(char, int)' on a null object reference
at android.view.MenuInflater$MenuState.setItem(MenuInflater.java:477)
at android.view.MenuInflater$MenuState.addItem(MenuInflater.java:541)
at android.view.MenuInflater.parseMenu(MenuInflater.java:193)
at android.view.MenuInflater.inflate(MenuInflater.java:114)
at com.paytronix.client.android.app.bottomsheet.BottomSheet$Builder.sheet(BottomSheet.java:704)
да, меню имеет два значения .. @ MadScientist
мой плохой, пожалуйста, проверьте пункты меню 0-й и 1-й пункт меню, если они нулевые или нет, также в вашем цикле for
извините @ MadScientist, особенно в значении меню устройства oreo, становится нулевым
можешь попробовать это: stackoverflow.com/questions/22033323/menu-finditem-returns-n ull
нет, это не работает @ MadScientist
вы можете проверить, является ли
menuнулевым или нет?