如何使用按钮单击从JSON提要打开网址?

时间:2018-01-15 07:26:03

标签: java android json

我正在使用Volley获取JSON提要,其中包含名称,评级和URL。我在Android上有textview,它会显示Fetched Name,Rating和all。我有一个Button,但它直接显示了URL,因为我将Text设置为Fetched URL。

目前,我得到了这个:

我需要将按钮文本设置为寄存器&如果单击按钮,则应打开从JSON Feed获取的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
            }
        });
    }

5 个答案:

答案 0 :(得分:1)

您可以使用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中的网址,请检查以下链接

How to load external webpage inside WebView

答案 1 :(得分:0)

在已声明按钮的适配器中,需要实现按钮的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);
    }
});

这将有助于您在可用浏览器中打开特定网址。 如果您想在webview中打开您的网址,请点击此链接。 How to open a url in webview on new screen based on button click

答案 2 :(得分:0)

  

我需要将按钮文本设置为寄存器&如果单击按钮,则应打开从JSON Feed

获取的URL

您应该使用指定操作的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是否为空

答案 3 :(得分:0)

在你的适配器onBindViewHolder()方法中,就像那样:

// get the course url
String courserURL = course.getCourseurl();
button.setOnClickListener(new Button.OnClickListener() {
     public void onClick(View v) {
         // make sure the course url value is not empty
         if(!courserURL.isEmpty()){
             // assign an ActionView to run that URL
             Intent i = new Intent(Intent.ACTION_VIEW);
             i.setData(Uri.parse(courserURL));
             holder.button.getContext().startActivity(i);
         }
     }
 });

答案 4 :(得分:0)

要更改底名,您需要使用ArrayList<String>打开底部的链接:

Intent browserIntent = new Intent(Intent.ACTION_VIEW);
browserIntent.setData("YourLinkHere);
context.startActivity(browserIntent);