上下文菜单中的不同链接取决于ImageView单击

时间:2017-04-07 07:36:13

标签: java android contextmenu

我有一个活动,其中包含不同团队的徽章,当单击一个时,会显示一个上下文菜单,可以在浏览器上打开团队维基百科页面。我设法根据ImageView创建一个不同的上下文菜单,但不知道我将如何通过链接。有什么帮助吗?

Context_menu.xml

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"> 
    <item
        android:id="@+id/link"
        android:title="Open Wikipedia Page"
        />
</menu>

团队班

    public void onCreateContextMenu(ContextMenu menu, View v, ContextMenu.ContextMenuInfo menuInfo){
            super.onCreateContextMenu(menu,v,menuInfo);
            MenuInflater inflater = getMenuInflater();
            switch (v.getId()){
                case R.id.atalanta:
                    menu.setHeaderTitle("Atalanta");
                    inflater.inflate(R.menu.context_menu,menu);
                    break;
                case R.id.bologna:
                    menu.setHeaderTitle("Bologna");
                    inflater.inflate(R.menu.context_menu,menu);
                    break;
                case R.id.cagliari:
                    menu.setHeaderTitle("Cagliari");
                    inflater.inflate(R.menu.context_menu,menu);
                    break;
                case R.id.chievo:
                    menu.setHeaderTitle("Chievo");
                    inflater.inflate(R.menu.context_menu,menu);
                    break;
}

1 个答案:

答案 0 :(得分:0)

如果您能够根据代码在switch块中的位置设置上下文菜单的标题标题,您还可以设置String变量到链接。在switch之后,您可以创建一个新的Intent,将链接传递给它,然后启动它。所有这些应如下所示:

String link = "";
//...
switch (v.getId()) {
    case R.id.atlanta:
        menu.setHeaderTitle("Atalanta");
        link = "https://whateveryouwant.com"
        inflater.inflate(R.menu.context_menu,menu);
        break;
    //do this with every case
}
//...
Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(link));
startActivity(i);