之前写过一个关于这个的,但是后来自己发现其中有些问题,就删了,这是刚出炉的。
思路
1、使用TextView 控件,使其可以被点击,然后跳转到另一个Activity(OtherAct)
2、要有两个Activity,两个.java文件,并且在manifest文件中添加进新的Activity(OtherAct)以及使用WebView控件所需要的网络权限
3、新的Activity(OtherAct)里显示网页信息
具体代码如下
MainActivity.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<TextView
android:id="@+id/tv_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
</RelativeLayout>
OtherAct.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<WebView
android:id="@+id/wv_1"
android:layout_height="fill_parent"
android:layout_width="fill_parent"
/>
</LinearLayout>
MainActivity.java
package com.linkview;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.text.SpannableString;
import android.text.Spanned;
import android.text.method.LinkMovementMethod;
import android.text.style.ClickableSpan;
import android.view.View;
import android.widget.TextView;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
TextView textView=(TextView)findViewById(R.id.tv_1);
String text="www.baidu.com";
SpannableString ss1=new SpannableString(text);
ss1.setSpan(new ClickableSpan() {
/**
* 使用SpannableString对象对原字符串进行分解
* 该方法中的四个参数表达式分别为:查分后的工作,从哪里开始拆分(字符串下标),分解到哪里结束(字符串下标),标记(字符串的范围<Exclusive Inclusive >)
*/
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
Intent intent=new Intent(MainActivity.this,OtherAct.class);
startActivity(intent);
}
}, 0, text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(ss1);
textView.setMovementMethod(LinkMovementMethod.getInstance());
}
}
OtherAct.java
package com.linkview;
import android.app.Activity;
import android.os.Bundle;
import android.webkit.WebView;
import android.webkit.WebViewClient;
public class OtherAct extends Activity {
public OtherAct() {
// TODO Auto-generated constructor stub
}
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.first);
setTitle("First");
WebView webView = (WebView) findViewById(R.id.wv_1);
webView.loadUrl("http://www.baidu.com");
webView.setWebViewClient(new WebViewClient() {
});
}
}
以及修改后的manifest文件
<uses-permission android:name="android.permission.INTERNET"/>
<!-- 添加访问网络权限 -->
<activity android:name=".OtherAct"></activity>
<!-- 添加新建的Activity -->