在webview中打开所需的链接

时间:2018-02-14 20:55:52

标签: java android xml

我想以文本形式打开文本视图中的链接:type =“autolink” 它包含一些URL,但当用户点击它时,打开浏览器而不是webview活动

例如

{

  <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
         android:autoLink="web"
        android:text="www.facebook.com"
        android:id="@+id/iimage" />

}

所以请告诉用户是否点击了此链接,它在WebView活动中的webView中打开。怎么做

3 个答案:

答案 0 :(得分:1)

您需要将Spannable设置为textview并在该Spannable上设置单击侦听器。

这里有一个我从一些答案中得到的例子:Android: ClickableSpan in clickable TextView

TextView tv = (TextView)findViewById(R.id.textview01);      
Spannable span = Spannable.Factory.getInstance().newSpannable("test link span");   
span.setSpan(new ClickableSpan() {  
    @Override
    public void onClick(View v) {  
        Log.d("main", "link clicked");
        Toast.makeText(Main.this, "link clicked", Toast.LENGTH_SHORT).show(); 
    } }, 5, 9, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

// All the rest will have the same spannable.
ClickableSpan cs = new ClickableSpan() {  
    @Override
    public void onClick(View v) {  
        Log.d("main", "textview clicked");
        Toast.makeText(Main.this, "textview clicked", Toast.LENGTH_SHORT).show(); 
    } };

// set the "test " spannable.
span.setSpan(cs, 0, 5, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

// set the " span" spannable
span.setSpan(cs, 6, span.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);

tv.setText(span);

tv.setMovementMethod(LinkMovementMethod.getInstance());

答案 1 :(得分:0)

How can we open TextView's links into Webview

但实际上你需要的只是webView.loadUrl(“www.facebook.com”)

答案 2 :(得分:0)

您可以通过以下方式完成此操作:

    iimage.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
               Intent intent = new Intent(currentactivity, youractivity.class);
                intent.putExtra("url", your_url );
                startActivity(intent);
                finish();
            }
        });

内在oncreate你的youracretivity

String urltoload = getIntent().getStringExtra("url");



webView.loadUrl(url);

希望这有帮助。