2013-10-09 2 views
0

문자열 변수에 저장 한 WebService에서 문자열 응답을 수신하고 있습니다.안드로이드의 전체 문자열에서 하이퍼 링크 클릭 이벤트 잡기

때로는 링크를 잡을 논리를 구현 한 문자열 응답에 하이퍼 링크가 표시됩니다.

경고 대화 상자에서 문자열 응답을 표시합니다.

내 관심사는 바로 지금 일어나고있는 사건 인 문자열에서 링크를 찾자 마자 바로 그 링크를 클릭하여 링크를 열어야한다는 것입니다.

내 코드 :

String strTipsMessage = beanTXTIconShowTips.getTips(); 
       if (strTipsMessage.contains("http")) 
       { 
        String strHyperLink = strTipsMessage.substring(strTipsMessage.indexOf("http"), strTipsMessage.length()); 
        if (strHyperLink != null) 
        { 
         Intent intent = new Intent(Intent.ACTION_VIEW); 
         intent.setData(Uri.parse(strHyperLink)); 
         startActivity(intent); 
        } 

        AndroidLog.i(TAG, "strHyperLink : --- " + strHyperLink); 
        AndroidLog.i(TAG, "Tips_Message : --- > " + strTipsMessage); 
       } 

Utility.showDialogForTips (ActConversations.this, "오늘의 팁 ...", strTipsMessage, R.drawable.icon_tips, "확인");

덕분에, 데이비드

+0

을 클릭 텍스트 뷰입니까 ??? – BBdev

+0

문제를 조금 더 설명 할 수 있습니까? 이제는 원하는 것을 명확히하지 마십시오 – pskink

+0

코드에서와 같이 값을 얻고 있고 URL이 WebView 인 텐트를 시작하고 있습니다. 그래서 몇 가지 URL이있을 때 웹보기가 열리는 이유는 ... – BBdev

답변

0

나는 Linkify 당신이 찾고있는 일이라고 생각합니다. 텍스트를 일부 URL에 링크하도록 만들 수 있으므로 클릭하면 적절하게 작동합니다.

thisthis 링크를 참조하십시오.

0

나는 아래에 문제를 서 있습니다. 해당 TextView에 TextViewset the text or the url value을 만들 것을 제안 할 수 있습니다. TextView에 클릭 리스너를 추가하고 사용자가 URL 텍스트를 클릭 할 때 의도를 실행하십시오. 여기에 코드

TextView t = (TextView) findViewById(R.id.url); 
t.setText("http://developer.android.com/training/animation/screen-slide.html"); 
t.setOnClickListener(clickListener); 

은 듣는 청취자 당신이 텍스트 뷰의 텍스트 값을 설정 한

OnClickListener clickListener = new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     // TODO Auto-generated method stub 
     TextView vi = (TextView) v; 
     //Toast.makeText(getApplicationContext(), vi.getText(), Toast.LENGTH_SHORT).show(); 
     Intent intent = new Intent(Intent.ACTION_VIEW); 
     intent.setData(Uri.parse(vi.getText())); 
     startActivity(intent); 
    } 
}; 
관련 문제