2010-07-14 3 views
1

나는 나의 listview와 textview를 위해 아래의 코드를 사용했다.ListView에서 HTML 링크를 클릭하면 문제가 발생합니까?

코드 :

textcontent.setText(Html.fromHtml(item.get_text())); 
textcontent.setAutoLinkMask(Linkify.WEB_URLS); 

XML :

<TextView 
       android:id="@+id/txtview" 
       android:autoLink="web" 
       android:layout_width="fill_parent" 
       android:layout_height="fill_parent" 
       android:text="put your link here"/> 

링크 URL처럼 보이는 내가 그것을 클릭 할 수 있지만,이 예외를

android.util.AndroidRuntimeException을 생성합니다 Activity Context 외부의 에서 startActivity()를 호출하려면이 필요합니다.FLAG_ACTIVITY_NEW_TASK 플래그.

이 문제를 해결하는 방법은 무엇입니까?

+0

나는 메인 액티비티 클래스가 아닌 다른 클래스의리스트 어댑터를 가지고 있는데, 메인 액티비티 클래스의리스트 어댑터 클래스로부터 객체를 생성하고 컨텍스트에 전달하면 문제의 원인이 될 수 있을까? – Jimmy

답변

10

가 ListAdapter 생성자에 응용 프로그램 컨텍스트를 전달하지 않습니다 (확실하지 비록 의도 것입니다). 대신 주요 활동을 전달하십시오.

ListAdapter flareAdapter = new ListAdapter(LayoutInflater.from(activity), Items); 

다른 클래스에서 어댑터를 작성하더라도 어쨌든 주 활동 참조를 전달해야합니다.

+0

힌트를 주셔서 감사합니다, 이것은 내가 한 일이고 작동합니다. 컨텍스트 aContext; aContext = this; ListAdapter flareAdapter = 새 ListAdapter (LayoutInflater.from (aContext), Items); – Jimmy

+0

저를 구해 주셔서 감사합니다. –

+0

정말 고마워요. Activity를 컨텍스트로 어댑터에 전달합니다. 새로운 ListAdapter (this, etc. ..) – Georges

1

클릭하면 실행할 예외가 발생 했습니까?

난 당신이 의도에 플래그를 추가해야시피

intent.addFlags(Intent.FLAG_ACTIVITY_NEW_TASK); 
+0

는 그것을 해결하지 못했지만 대답에 감사드립니다. – Jimmy

+0

그렇다면 예외 로그에서 더 많은 정보를 얻을 수 있습니다. 스택 추적을 보겠습니다. – Pentium10

+0

나는 메인 액티비티 클래스가 아닌 다른 클래스의 List 어댑터를 가지고있다. 그런 다음 메인 액티비티 클래스의리스트 어댑터 클래스로부터 객체를 생성하고 컨텍스트에 전달하면 문제의 원인이 될 수있다. – Jimmy

관련 문제