如何在android studio中添加导航抽屉菜单中的项目链接?

vsmadaxz  于 2022-11-16  发布在  Android
关注(0)|答案(2)|浏览(144)

我尝试在我的文本中添加一个链接,这样当用户点击文本时,它会将他重定向到一个网站,文本在一个item标签下,而item标签又在我的xml文件中的一个menu标签下,但是我不知道如何实现这个功能。这是我目前为止添加的内容。这是我的导航抽屉内容的xml文件,导航抽屉的代码在我的activity_main.xml中,它已经在运行了。

<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    tools:ignore="HardcodedText">

    <item
        android:id="@+id/nav_one"
        android:title="link3"
        android:text="@string/hyperlink"/>

    <item
        android:id="@+id/nav_two"
        android:title="Settings" />

    <item
        android:id="@+id/nav_three"
        android:title="link1" />

</menu>

这是我在string.xml文件中添加的内容

<string name="hyperlink"><a href="https://www.youtube.com/">start</a></string>

然而问题是我不知道如何让它工作。我不知道该在我的主要活动中添加什么来使它工作。这是我在我的主要活动中添加的东西,但它显然不工作。

MenuItem menuItem = findViewById(R.id.nav_one);
    menuItem.setMovementMethod(LinkMovementMethod.getInstance());

我必须更改和添加哪些内容才能使其正常工作?

lbsnaicq

lbsnaicq1#

只需使用监听器的抽屉和对所需物品的使用

startActivity(Intent(Intent.ACTION_VIEW,Uri.parse(your link here in string format)))

它将在设备的默认浏览器中打开链接,此代码是Kotlin顺便说一句。但java也是一样的,只是必须使用java语法,如不是简单的Intent,您必须使用new Intent让我知道,如果您需要在转换为java

5w9g7ksd

5w9g7ksd2#

这条线

NavigationUI.setupWithNavController(navigationView, navController);

在内部调用setNavigationItemSelectedListener以将目标连接到菜单项-这是当您单击菜单项时启动新目标的方式。导航支持<activity>目标,允许您在单击菜单项时启动Activity。您可以将Activity目标添加到图形中,并使用与菜单项相同的id:

<activity
  android:id="@+id/nav_login_activity"
  app:action="android.intent.action.VIEW"
  app:data="https://www.your_url_here.com"/>

然后默认的setupWithNavController将为您调用startActivity

相关问题