Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/195.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用SQLite处理Android工具栏图标_Android_Android Layout_Android Toolbar_Android Menu - Fatal编程技术网

用SQLite处理Android工具栏图标

用SQLite处理Android工具栏图标,android,android-layout,android-toolbar,android-menu,Android,Android Layout,Android Toolbar,Android Menu,我需要提示设置工具栏菜单。如何在意图打开时自动更改工具栏图标。我正在使用SQLite保存书签帖子的数据。如果用户已经为帖子添加了书签,则工具栏图标将更改,否则图标将相同 让我们举个例子,在这张图中,当我点击它时,这里有一个书签按钮(星形),数据将保存在书签表中。之后,我关闭了那个帖子。现在,我再次打开已添加书签的帖子,但这次它们的工具栏菜单图标发生了如下变化: int bkmark; 要执行此功能,将从书签表加载数据 在我的应用程序中,无需保留帖子并显示此工具栏。当有人点击post时,意图

我需要提示设置工具栏菜单。如何在意图打开时自动更改工具栏图标。我正在使用SQLite保存书签帖子的数据。如果用户已经为帖子添加了书签,则工具栏图标将更改,否则图标将相同

让我们举个例子,在这张图中,当我点击它时,这里有一个书签按钮(星形),数据将保存在书签表中。之后,我关闭了那个帖子。现在,我再次打开已添加书签的帖子,但这次它们的工具栏菜单图标发生了如下变化:

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);
}
如果你看起来像这样,希望这篇文章能帮助你