我有一个来自asynctask的字符串,我想将该字符串设置为actionbar中菜单项的标题。
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.main, menu);
this.menu = menu;
if (menu!= null) {
menu.findItem(R.id.azzera).setVisible(false);
}
MenuItem giornataItem = menu.findItem(R.id.giornata);
giornataItem.setTitle(giornataTitle);
return super.onCreateOptionsMenu(menu);
}
/* Called whenever we call invalidateOptionsMenu() */
@Override
public boolean onPrepareOptionsMenu(Menu menu) {
// If the nav drawer is open, hide action items related to the content view
MenuItem giornataItem = menu.findItem(R.id.giornata);
giornataItem.setTitle(giornataTitle);
return super.onPrepareOptionsMenu(menu);
}
OnPrepareOptionsMenu工作正常,当我更改片段或drawernav打开时,标题仍然正确,但是onCreateOptionsMenu没有在应用程序启动时设置标题,因为在那一刻字符串为空,因为它在asynctask之前被调用。 如何将该字符串设置为标题?
答案 0 :(得分:2)
在创建菜单时调用asynctask
String tital=new Asynctask().execute("").get();
MenuItem giornataItem = menu.findItem(R.id.giornata);
giornataItem.setTitle(tital);
如果你正在谈论为你的活动制作一个字符串
然后致电
String tital=new Asynctask().execute("").get();
setTitle(tital);
setContentView(R.layout.MainActivity);