我有一个提取功能,我试图在onCreateOptionsMenu(Menu menu, MenuInflater inflater)
中调用它以实时填充菜单。
此功能在溢出菜单中运行正常,但在我的switch
块中却无法正常工作。我试图正确调用此函数并在单击新图标时运行它。有想法吗?
private void fetchMembers(Menu menu) {
@Override
public void onNext(ListMembersResponse response) {
if (response.members != null && !response.members.isEmpty()) {
for (int i = 0; i < response.members.size(); i++) {
Merchant merchant = response.members.get(i);
menu.add( Menu.NONE, i, Menu.NONE, merchant.firstName + " " + merchant.lastName); ///here is fetching full name
}
}
}
我的switch
块:
switch (item.getItemId())
{
case R.id.menu_item_filter:
fetchMembers(menu);
case R.id.menu_item_search:
if (!TextUtils.isEmpty(item.getTitle())) {
trackEvent(AnalyticsManager.CATEGORY_HISTORY_SEARCH,
AnalyticsManager.ACTION_TRIGGERED,
AnalyticsManager.LABEL_TRIGGERED);
String newText = String.valueOf(item.getTitle());
String text = newText.trim().toLowerCase(Locale.getDefault());
return true;
} else {
paymentsAdapter.filter("");
itemManager.expandGroup(0);
scrollListener.setEndlessScrollEnabled(true);
return true;
}
}
return false; //true
附言:我尝试通过以下方式将溢出图标更改为另一个图标:
Drawable drawable =
ContextCompat.getDrawable(getApplicationContext(),R.drawable.change_pass);
toolbar.setOverflowIcon(drawable);
,但也不起作用。错误是NullPointerException
。
答案 0 :(得分:0)
已解决 首先从我的基本片段创建了一个函数
@Override
public void updateToolbar(Toolbar toolbar) {
setTitle( R.string.title_transaction_history );
Drawable drawablew =
ContextCompat.getDrawable(getApplicationContext(),R.drawable.ic_icon_filter);
toolbar.setOverflowIcon(drawablew);
}
然后它对我有用。