2011-07-09 28 views
7

के बजाय वेब दृश्य में एक लिंक खोलें मैं कोड के इस टुकड़े है:डिफ़ॉल्ट ब्राउज़र

TextView noteView = (TextView) view.findViewById(R.id.content); 
    noteView.setMovementMethod(LinkMovementMethod.getInstance()); 
    noteView.setText(Html.fromHtml(noteView.getText().toString())); 

मैं वेब दृश्य में लिंक खोलने, एक ब्राउज़र में नहीं की जरूरत है ... यह संभव है ?? मैं कैसे कर सकता हूँ??

अग्रिम धन्यवाद ..

उत्तर

5

हाँ, आपको लगता है कि, यह WebView के साथ बहुत सरल कार्य है क्या कर सकते हैं, तो आप वहाँ आप यूआरएल फ़िल्टर कर सकते हैं या कुछ अनुकूलित कार्यक्षमता देना एक WebViewClient वस्तु घोषित करने और public boolean shouldOverrideUrlLoading (WebView view, String url) विधि ओवरराइड करने के लिए की जरूरत है, ।

आपके मामले में, वेब व्यू पर बने रहने के लिए, आपको उस विधि पर झूठी वापसी की आवश्यकता होगी।

this tutorial देखें।

सादर

संपादित:

ऐसा लगता है आपके सवाल यह है कि TextView के यूआरएल पर क्लिक करें घटना को संभालने के लिए है। it's suggested on this question के रूप में आप अपने वेबव्यू युक्त गतिविधि पर ACTION_VIEW मंशा फ़िल्टर कर सकते हैं। अगर आपको more guidance about intent-filters, check this out की आवश्यकता है।

+0

धन्यवाद लेकिन अच्छा, यह काम नहीं करता है ... मेरे पास शुरुआत में कोई वेबव्यू नहीं है ... जब मैं एक लिंक पर क्लिक करता हूं तो मैं ब्राउज़र के बजाय वेब दृश्य दिखाना चाहता हूं ^^ संभव हो? – Erenwoid

+0

@Erenwoid, अब मुझे आपका प्रश्न मिलता है, आप टेक्स्टव्यू यूआरएल के क्लिक पर भेजे जाने वाले इरादे को संभालना चाहते हैं। अच्छा मेरे संपादित जवाब देखें। – mdelolmo

+0

वह चट्टानों ^^ धन्यवाद! – Erenwoid

7

अतिरिक्त, आप यह कर सकते हैं।

package com.TextHtml; 

    import android.app.Activity; 
    import android.content.Context; 
    import android.os.Bundle; 
    import android.text.Html; 
    import android.text.Spannable; 
    import android.text.SpannableStringBuilder; 
    import android.text.method.LinkMovementMethod; 
    import android.text.style.ClickableSpan; 
    import android.text.style.URLSpan; 
    import android.view.View; 
    import android.widget.TextView; 
    import android.widget.Toast; 
    public class TextHtml extends Activity { 

     private TextView tv; 
     static Context ctx=null; 
     @Override 
     public void onCreate(Bundle savedInstanceState) { 
      super.onCreate(savedInstanceState); 
      setContentView(R.layout.main); 
      ctx=this; 
      tv = (TextView) findViewById(R.id.tv); 
      String htmlLinkText = "<a href="/" mce_href="/""http://www.google.com/"><u>hello google </u></a>";  
      tv.setText(Html.fromHtml(htmlLinkText)); 
      tv.setMovementMethod(LinkMovementMethod.getInstance());  
      CharSequence text = tv.getText();  
      if(text instanceof Spannable){  
       int end = text.length();  
       Spannable sp = (Spannable)tv.getText();  
       URLSpan[] urls=sp.getSpans(0, end, URLSpan.class);  
       SpannableStringBuilder style=new SpannableStringBuilder(text);  
       style.clearSpans();//should clear old spans  
       for(URLSpan url : urls){  
        CustomerTextClick click = new CustomerTextClick(url.getURL());  
        style.setSpan(click,sp.getSpanStart(url),sp.getSpanEnd(url),Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);  
       }  
       tv.setText(style);  
      } 
     } 

     private static class CustomerTextClick extends ClickableSpan{  

      private String mUrl;  
      MyURLSpan(String url) {  
       mUrl =url;  
      }  
      @Override 
      public void onClick(View widget) { 
       // TODO Auto-generated method stub 
       Toast.makeText(ctx, "hello google!",Toast.LENGTH_LONG).show(); 
      }  
     } 
    } 
+0

यदि आप वेब व्यू गतिविधि में इरादे फ़िल्टर नहीं जोड़ना चाहते हैं तो सबसे अच्छा जवाब। –

+0

सबसे अच्छा जवाब कभी! – Michalsx

संबंधित मुद्दे