代码如下:
package com.example.pengliu.myapplication;
import android.graphics.drawable.Drawable;
import android.os.StrictMode;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.text.method.ScrollingMovementMethod;
import android.widget.TextView;
import java.io.InputStream;
import java.net.URL;
public class MainActivity extends AppCompatActivity {
private int[] zujianids=new int[]{R.id.text1,R.id.text};
private String[] TMInfos=new String[]{"dfdfdf\r\n<img src=\"http://i.imgur.com/DvpvklR.png\"/>\r\nfdf\r\n<img src=\"https://vimg.xiaoxiakj.com/v/vj/8e76a360124d45c39b3bd57ce50fff43/0.jpg@300w_300h\"/>\r\ndfd"
,"第二道题\r\n<img src=\"http://i.imgur.com/DvpvklR.png\"/>\r\nfdf\r\n<img src=\"https://vimg.xiaoxiakj.com/v/vj/8e76a360124d45c39b3bd57ce50fff43/0.jpg@300w_300h\"/>\r\ndfd"};
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
struct();
for (int i=0;i<zujianids.length;i++){
TextView tv=findViewById(zujianids[i]);
tv.setMovementMethod(ScrollingMovementMethod.getInstance());// 设置可滚动
tv.setMovementMethod(LinkMovementMethod.getInstance());//设置超链接可以打开网页
tv.setText(Html.fromHtml(TMInfos[i], imgGetter, null));
}
}
//这里面的resource就是fromhtml函数的第一个参数里面的含有的url
Html.ImageGetter imgGetter = new Html.ImageGetter() {
public Drawable getDrawable(String source) {
Drawable drawable = null;
InputStream is;
try {
is = (InputStream) new URL(source).getContent();
drawable = Drawable.createFromStream(is, "src");
is.close();
} catch (Exception e) {
e.printStackTrace();
return null;
}
drawable.setBounds(0, 0, drawable.getIntrinsicWidth(),
drawable.getIntrinsicHeight());
return drawable;
}
};
public static void struct() {
StrictMode.setThreadPolicy(new StrictMode.ThreadPolicy.Builder()
.detectDiskReads().detectDiskWrites().detectNetwork()
.penaltyLog().build());
}
}