通过动态菜单打开对话框

时间:2012-08-24 09:19:19

标签: android menu dialog

当我点击项目时,如何打开一个带有一些html格式和超文本链接支持的对话框(在默认浏览器中打开该链接):"关于"在我动态创建的菜单中? 另外,我如何制作SHARE功能,以便任何人点击:" SHARE" item,它会分享到该APK的链接,还是通过蓝牙发送?

这就是我在MainActivity中所拥有的:

private static final int NEW_MENU_ID=Menu.FIRST+1;
@Override
    public boolean onCreateOptionsMenu(Menu menu) {
        super.onCreateOptionsMenu(menu);

        menu.add(0, NEW_MENU_ID, 0, "ABOUT");
        menu.add(0, NEW_MENU_ID, 0, "SHARE");

        return true;
    }

这就是它应该是这样的: template

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

实际上,有两个大而完全不同的问题,代码太少。

首先你应该在onCreateOptionsMenu中给出不同的选项id(让它们是ID_ABOUT == 0和ID_SHARE == 1)覆盖onOptionsItemSelected(),如下所示:

@Override
public boolean onOptionsItemSelected (MenuItem item) {
    switch(item.getItemId()) {
    case ID_ABOUT:
        handleAbout();
        break;

    case ID_SHARE:
        handleShare();
        break;
    }
}

不应该定义handleAbout()和handleShare()(这是你的问题):

  • 关于:可能,最简单的方法是创建仅包含一个WebView的附加活动。第一个活动只是从handleAbout();
  • 启动AboutActivity
  • 分享:这是很常见的任务。请参阅Android文档here,例如,参考this question

答案 1 :(得分:1)

1. how could I open dialog with some html formatting and hypertext link support (open that link in default browser), when I click on item: "ABOUT" in my dynamically created menu?

看看这个SO问题:Android hyperlinks on TextView in custom AlertDialog not clickable

2. how I can make SHARE function, so that if anybody click on: "SHARE" item, it will either share link to that APK, or send it over bluetooth?

Android Intent Intent.ACTION_SEND一起使用。这将在处理SHARE Intent的设备上的可用应用程序上共享.apk文件的链接。

并通过蓝牙发送APK ..使用相同的意图ACTION_SEND操作,或者您必须实施蓝牙文件传输代码..

看看这个SO问题:bluetooth file transfer in android