[英]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.