, 나는이 두 가지주의 사항과 함께, 내 TextView
에 링크를 추가하고 싶습니다 :: 제목이 설명 하듯이 내 코드에 행동을 연결하는 텍스트 뷰의 부분에 "내부"링크를 추가
링크가
TextView
의 일부로 작동하기를 원합니다 (HTML의A
앵커와 같은 것).링크가 웹 사이트가 아닌 내 코드의 동작을 가리 키기를 원합니다. 내 활동에 메소드를 정의하거나
OnClickListener
을 구현하고 해당 링크를 클릭 할 때 메소드를 실행할 수 있습니다.
Linkify.addLinks(message, Linkify.ALL);
나는 (내 방법) 내부 링크에 대한 비슷한 싶습니다
, 정의 된 것들을 정의 할 수있다.
내부 링크 및 웹보기가있는 웹 페이지를 사용하는 것은 실제로 옵션이 아닙니다. 이미 여러 개의 복잡한 레이아웃이 정의되어 있으므로 전체 응용 프로그램과 개념을 수정해야하는 것은 상당히 어려울 것입니다 ...
아이디어가 있으십니까?
편집 : Kabuko 여기, 나에게 아주 좋은 솔루션을 준 정확히 나는 그것을 구현하는 방법 : 당신은 실제로 당신이 Html.fromHtml
을 사용할 수있는 URL로 가고 싶어하지만, 경우
final TextView descriptionTextView = (TextView) findViewById(R.id.description);
final Spannable span = Spannable.Factory.getInstance().newSpannable("the full text for the view");
span.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
Toast.makeText(StartEventActivity.this, "LINK CLICKED", Toast.LENGTH_SHORT).show();
}
}, 1, 20, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); // 1 and 20 to be replaced with actual index of start and end of the desired link
descriptionTextView.setText(span);
descriptionTextView.setMovementMethod(LinkMovementMethod.getInstance());
감사합니다 도움이 될 수 있습니다! 나는 그것을 어떻게 놓칠 수 있습니까? 나는 그 계급이 존재한다는 것을 알지 못했다. 그것은 계략을 아주 잘하는 것처럼 보인다. 지금 내가 대답을 수락하기 전에 실험 해보십시오. – Guillaume
완벽하게 작동합니다! 다시 한 번 감사드립니다. - 정확한 구현을 보여주기 위해 제 질문을 수정했습니다. – Guillaume