我在这做错了什么? Android上下文菜单长按

时间:2011-06-10 23:58:37

标签: android menu android-intent contextmenu

我得到了我的列表视图以响应长按。我重写了oncreatecontext菜单

AdapterView.AdapterContextMenuInfo info = (AdapterView.AdapterContextMenuInfo) menuInfo;
Intent facebookbrowserIntent = new Intent("android.intent.action.VIEW",
            Uri.parse("http://www.facebook.com/sharer.php?u=http://autobotcentral.info/sd/&t=the_title"));
Intent twitterbrowserIntent = new Intent("android.intent.action.VIEW",
            Uri.parse("http://twitter.com/?status=the_title"));
menu.setHeaderTitle(mStrings.get(info.position).CleanName);

Intent sendIntent = new Intent(Intent.ACTION_VIEW);         
sendIntent.setData(Uri.parse("sms:"));
sendIntent.putExtra("sms_body",  mStrings.get(info.position).CleanName );

output.setText(mStrings.get(info.position).CleanName);

menu.addIntentOptions(Menu.NONE, 0, 0,
    this.getComponentName(),null, facebookbrowserIntent, 0, null);

menu.addIntentOptions(Menu.NONE, 0, 1,
        this.getComponentName(),null, sendIntent, 0, null);
menu.addIntentOptions(   Menu.NONE, 0, 2,
        this.getComponentName(),null, twitterbrowserIntent, 0, null);

menu.add(Menu.NONE, 0, 0,   "Facebook Entry");
menu.add(Menu.NONE, 0, 1, "Sms to friend");
menu.add(Menu.NONE, 0, 2, "Twitter Entry");

然而,这并不完全是出现的。有时候会出现其他词语(甚至不应该)。没有任何意图正确开火。我摆弄了团队和秩序。不确定稀疏文档的确切含义。有什么帮助吗?

1 个答案:

答案 0 :(得分:1)

仔细查看addIntentOptions的{​​{3}}。该方法添加菜单项。这意味着当您执行addIntentOptions时,它将创建菜单项。当您执行add时,您将创建更多项目。您不需要执行menu.Add语句。这documentation可能是您正在尝试做的一个很好的指南。