如果ParseUser正在查看自己的帖子,则menuitem仅出现在操作栏中

use*_*894 5 java android parse-platform

基本上,如果当前ParseUser正在查看自己的帖子,我只想在操作栏中显示Edit的menuitem图标.

我想我可以检查他们是否只是通过抓住当前解析用户来查看他们自己的帖子(postedBy只是从listview活动传递的意图的字符串):

ParseUser currentUser = ParseUser.getCurrentUser();
if (currentUser.username == postedBy)
{

}
Run Code Online (Sandbox Code Playgroud)

现在的问题是如何制作它,所以如果是这种情况,只有ActionBar中的Edit图标出现,如果不是,那么它们就不显示了.(所以其他人无法编辑)可能在onOptionsItemSelected吗?但这对我来说没有意义,有意义的是将它显示在XML的哪个地方?或者可能制作两个菜单XMLS并根据当前用户发布的情况调用其中一个或另一个?

mat*_*ash 2

好吧,您可以有两个菜单 xml,但这太过分了(而且更难维护)。一个更简单的解决方案是以编程方式隐藏菜单选项,即

@Override
public boolean onCreateOptionsMenu(Menu menu)
{
    getMenuInflater().inflate(R.menu.main, menu);

    // Show option depending on condition.
    MenuItem item = menu.getItem(R.id.menu_item_edit_post);
    item.setVisible(isUserPost());

    return true;
}
Run Code Online (Sandbox Code Playgroud)