Android 使用 SQLite 处理工具栏图标

Android toolbar icon handling with SQLite

我需要提示来设置工具栏菜单。如何在 Intent 打开时自动更改工具栏图标。我正在使用 SQLite 为已添加书签的 post 保存数据。如果用户已将 post 添加为书签,则工具栏图标将更改,否则图标将保持不变。

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

要执行此功能,数据将从书签 table 加载。

在我的应用程序中无需按住 post 并显示此工具栏。当有人点击 post 时,一个意图被打开。该意图的工具栏将用于此功能。 post 的工具栏是 here : http://i.stack.imgur.com/HWMF5.png 并且当用户点击时选择的图标会改变。提前致谢

找到解决方案:onCreate 之前初始化一个 int 像这样:

int bkmark;

onCreate 在初始化工具栏之前从 SQLite 获取数据并检查 post 是否已加入书签。

如果数据可用

bkmark = 1;

其他

bkmark = 0;

onCreateOptionsMenu中我使用了两个这样的菜单

@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);
}

如果您正在寻找这样的东西,希望这篇 post 对您有所帮助!