用SQLite处理Android工具栏图标
我需要提示设置工具栏菜单。如何在意图打开时自动更改工具栏图标。我正在使用SQLite保存书签帖子的数据。如果用户已经为帖子添加了书签,则工具栏图标将更改,否则图标将相同 让我们举个例子,在这张图中,当我点击它时,这里有一个书签按钮(星形),数据将保存在书签表中。之后,我关闭了那个帖子。现在,我再次打开已添加书签的帖子,但这次它们的工具栏菜单图标发生了如下变化:用SQLite处理Android工具栏图标,android,android-layout,android-toolbar,android-menu,Android,Android Layout,Android Toolbar,Android Menu,我需要提示设置工具栏菜单。如何在意图打开时自动更改工具栏图标。我正在使用SQLite保存书签帖子的数据。如果用户已经为帖子添加了书签,则工具栏图标将更改,否则图标将相同 让我们举个例子,在这张图中,当我点击它时,这里有一个书签按钮(星形),数据将保存在书签表中。之后,我关闭了那个帖子。现在,我再次打开已添加书签的帖子,但这次它们的工具栏菜单图标发生了如下变化: int bkmark; 要执行此功能,将从书签表加载数据 在我的应用程序中,无需保留帖子并显示此工具栏。当有人点击post时,意图
int bkmark;
要执行此功能,将从书签表加载数据
在我的应用程序中,无需保留帖子并显示此工具栏。当有人点击post时,意图被打开。该目的的工具栏将用于此功能。帖子的工具栏是选中的,用户点击时图标会改变。提前感谢找到了解决方案:在
onCreate
之前初始化int
,如下所示:
int bkmark;
在初始化工具栏之前,请在onCreate
中从SQLite
获取数据,并检查此帖子是否已添加书签
如果数据可用
bkmark = 1;
否则
在oncreateoptions菜单中
我使用了两个这样的菜单
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
if(bkmark == 0){//bkmark is not available
getMenuInflater().inflate(R.menu.posts, menu);
}else{//bkmark is available
getMenuInflater().inflate(R.menu.postb, menu);
}
return true;
}
在onOptionsItemSelected中
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id==R.id.bkm){
if(bkmark == 1){
//delete data from bookmark table here
item.setIcon(R.drawable.ic_bookmark);//changing the icon
bkmark = 0;
}else{
//insert data in bookmark table here
item.setIcon(R.drawable.ic_bookmarked);//changing the icon
bkmark = 1;
}
}
return super.onOptionsItemSelected(item);
}
如果你看起来像这样,希望这篇文章能帮助你