当前位置: 首页 > 知识库问答 >
问题:

如何使用按钮点击从JSON提要打开url?

彭飞虎
2023-03-14

我使用截取获取JSON提要,其中包含名称、评级和URL。我有Android上的textview,它将显示获取的名称、评级和所有内容。我有一个按钮,但它直接显示URL,因为我将文本设置为获取的URL。

目前,我得到了以下信息:

我需要将按钮的文本设置为寄存器

特此附上密码

    @Override
    public void onBindViewHolder(CourseViewHolder holder, int position) {

        Course course = courseList.get(position);

        holder.textViewCoursename.setText(course.getCoursename());
        holder.textViewcoursedescshort.setText(course.getCoursedescshort());
        //holder.textViewcourseurl.setText(course.getCourseurl());
        holder.textViewcourserating.setText(course.getCourserating());

        Glide.with(mCtx)
                .load(course.getCourseimg())
                .into(holder.imageView);

        Button button = (Button) button.findViewById(R.id.textViewcourseurl);
        button.setOnClickListener(new Button.OnClickListener() {
            public void onClick(View v) {
                //Do stuff here
            }
        });
    }

共有3个答案

艾阳羽
2023-03-14

在声明了按钮的适配器中,需要实现按钮的onClick方法:

Button button = (Button) button.findViewById(R.id.textViewcourseurl);
button.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
        Uri uri = Uri.parse("http://www.google.com"); 
        Intent intent = new Intent(Intent.ACTION_VIEW, uri);
        context.startActivity(intent);
    }
});

这将帮助您在可用浏览器中打开特定的url。如果您想在webview中打开您的url,请点击此链接。如何根据按钮单击在新屏幕上的webview中打开url

淳于思淼
2023-03-14

我需要将按钮的文本设置为寄存器

您应该加载带有Intent指定操作的URL。例如加载URL:

String url = //get your url from the JSON feed ;

Intent i = new Intent(Intent.ACTION_VIEW);
i.setData(Uri.parse(url));
startActivity(i);

基本上,上面的代码将用于查找可以加载URL的应用程序,并为您加载URL。

在将URL传递给用户之前,不要忘记检查URL是否为空

燕承安
2023-03-14

您可以使用Intent执行此任务。

//Just put Intent on your button click
button.setOnClickListener(new Button.OnClickListener() {
    public void onClick(View v) {
        Intent i = new Intent(Intent.ACTION_VIEW);
        i.setData(Uri.parse(course.getCourseurl()));
        mCtx.startActivity(i);
        //This will open url in browser if you have application in your device.
    }
});

如果您想在WebView中加载url,请选中下面的链接

如何在WebView中加载外部网页

 类似资料:
  • 在我的应用程序中,点击提交按钮(Struts),执行一个操作类方法,该方法设置bean的“更新网址”属性。我想要的是我需要在设置bean完成后在新浏览器中打开的网址,而用户不必做任何其他事情,比如单击链接。我找不到做这件事的正确方法。 下面是一些代码: 我的JSP:

  • 我是使用Appium进行C#测试的新手。我能够设置一切并运行测试。我使用UiAutomatorViewer访问了一些按钮,现在我需要单击一个按钮,但我只是得到了cont-desc。哪一个FindElement(ByAndroiduiAutomator.“”)是否链接到Cont-Desc?我什么都试过了,但总是出错。我已经尝试使用TouchAction或Mouse.Click()单击此按钮;但没有任

  • 如何在无限次或动态地单击按钮时添加新的?或者简单地说,如何执行添加更多按钮的功能? 我在Javafx中尝试过,但它只是在列表中添加了两个按钮。 但我必须动态添加,直到用户想要添加/按下上一个按钮

  • 问题内容: 我创建了一个简单的电话目录,并且能够通过单击按钮来打开Whatsapp联系人。 这是示例代码: 如何通过单击android中的按钮来打开Whatsapp组? 希望给我任何建议! 问题答案: 您必须使用群组链接。当用户安装您的应用程序时,您应该要求他们从whatsapp组信息中复制组链接,然后将其存储以直接从您的应用程序访问该组。该链接仅对群组管理员可见,因此,如果用户不是管理员,则应指

  • 我正在编写一个包含许多按钮的程序,当我单击其中一个按钮时,我希望它打开一个包含一些txt文件信息的JTextArea。我试图将JTextArea添加到按钮中,但它没有打开任何东西。我是Java新手,所以我不知道这是否是正确的方法。 我在GUI中定义了按钮和JTextArea 这是我在public void actionPerformed(ActionEvent e)中编写的代码