簡體   English   中英

在webview中打開RSS feed鏈接

[英]Open RSS feed link in webview

以下代碼正常工作,但我希望在Webview中打開鏈接。 我怎么做? 我創建了一個名為WebbVy.java的Webview活動,但是我猜想我需要在下面的Textview之后創建一個意圖,以啟動WebView活動。 但是我該怎么做呢? 目前,textview由標題,發布日期,描述和鏈接填充(在瀏覽器中打開),我需要在Webview中而不是瀏覽器中打開鏈接。

VisaHelaNyheten.java

package se.sebastianliljegren.rss_feed;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;

public class VisaHelaNyheten extends Activity{
public void onCreate(Bundle bundle)
{
    super.onCreate(bundle);
    setContentView(R.layout.visa_hela_nyhet);

    String enNyhet = null;
    String mLink = null;


    final Intent bundleintent = getIntent();

    if (bundleintent != null)
    {
        Bundle b = bundleintent.getBundleExtra("BUNDLE.VISA.SEN.INTENT");
        if (b == null)
        {
            enNyhet = "fel bundle?";
        }
        else
        {
            enNyhet = b.getString("title") + "\n\n" + b.getString("pubdate") + "\n\n" + b.getString("description") + "\n" + "\n\nMore information:\n" + b.getString("link");
            mLink = b.getString("link");

        }
    }
    else
    {
        enNyhet = "Information ej hittad.";
    }

    TextView db = (TextView) findViewById(R.id.nyhet);
    db.setText(enNyhet);
    TextView link = (TextView) findViewById(R.id.link);
    link.setText(mLink);

    link.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(VisaHelaNyheten.this, WebbVy.class);
            intent.putExtra("LINK" mLink);
            startActivity(intent);
        }
    });
        }
    }

WebbVy.java包se.sebastianliljegren.rss_feed;

import android.annotation.SuppressLint;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebSettings;
import android.webkit.WebView;
import android.webkit.WebViewClient;

@SuppressLint("SetJavaScriptEnabled")
public class WebbVy extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.webview);


    Intent intent = getIntent();
    String link = intent.getStringExtra("link");

    WebView mainWebView = (WebView) findViewById(R.id.webview1);

    WebSettings webSettings = mainWebView.getSettings();
    webSettings.setJavaScriptEnabled(true);

    mainWebView.setWebViewClient(new MyCustomWebViewClient());
    mainWebView.setScrollBarStyle(View.SCROLLBARS_INSIDE_OVERLAY);

    mainWebView.loadData(link, "text/html; charset=utf-8","utf-8");

}

private class MyCustomWebViewClient extends WebViewClient {
    @Override
    public boolean shouldOverrideUrlLoading(WebView view, String url) {
        view.loadUrl(url);
        return true;
    }
}
}

webview.xml

<?xml version="1.0" encoding="utf-8"?>
<WebView xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/webview1" >

</WebView>

使用單獨的TextView存儲鏈接,例如:

String enNyhet = null;
String mLink = null

enNyhet = b.getString("title") + "\n\n" + b.getString("pubdate") + "\n\n" + b.getString("description") + "\n";
mLink = b.getString("link");

TextView db = (TextView) findViewById(R.id.nyhet);
db.setText(enNyhet);
TextView link = (TextView) findViewById(R.id.link);
link.setText(mLink);

現在將onClickListener添加到鏈接TextView

link.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            //Set the intent to your webview activity and put the string link as extra.
            Intent intent = new Intent(this, WebbVy.class);
            intent.putExtra("LINK", mLink);
            startActivity(intent);                
        }
    });

然后在您的Webview活動中,您從意圖中獲取字符串並將其加載到WebView中。

希望能幫助到你!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM