2016-02-05 171 views
0

我有一個使用SlidingTabLayout和ViewPager創建的兩個選項卡的活動。每個選項卡都是具有不同佈局的片段。然而,兩種佈局都包含類似的文字查看功能,以便使用autolink =「phone」鏈接到電話號碼。android:autoLink =「phone」在片段內不起作用

<TextView android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:id="@+id/contact" 
android:text="+91-0000000000" 
android:autoLink="phone"/> 

問題:當我點擊TAB1中(第一片段)TextView的,它完美的作品,並鏈接到手機的撥號器。但是,在tab2(第二個片段)中執行相同的操作會導致應用程序崩潰。

錯誤日誌:

android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 
      at android.app.ContextImpl.startActivity(ContextImpl.java:1234) 
      at android.app.ContextImpl.startActivity(ContextImpl.java:1221) 
      at android.content.ContextWrapper.startActivity(ContextWrapper.java:322) 
      at android.text.style.URLSpan.onClick(URLSpan.java:62) 
      at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:217) 
      at android.widget.TextView.onTouchEvent(TextView.java:7992) 
      at android.view.View.dispatchTouchEvent(View.java:8393) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2431) 
      at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:2173) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:2317) 
      at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1692) 
      at android.app.Activity.dispatchTouchEvent(Activity.java:2790) 
      at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:59) 
      at android.support.v7.internal.view.WindowCallbackWrapper.dispatchTouchEvent(WindowCallbackWrapper.java:59) 
      at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:2278) 
      at android.view.View.dispatchPointerEvent(View.java:8583) 
      at android.view.ViewRootImpl$ViewPostImeInputStage.processPointerEvent(ViewRootImpl.java:4060) 
      at android.view.ViewRootImpl$ViewPostImeInputStage.onProcess(ViewRootImpl.java:3926) 
      at android.view.ViewRootImpl$InputStage.deliver(ViewRootImpl.java:3483) 
      at android.view.ViewRootImpl$InputStage.onDeliverToNext(ViewRootImpl.java:3536) 
      at android.view.ViewRootImpl$InputStage.forward(ViewRootImpl.java:3502) 
      at android.view.ViewRootImpl$AsyncInputStage.forward(ViewRootImpl.java:3612) 
      at android.view.ViewRootImpl$InputStage.apply(ViewRootImp 

我有什麼錯?

+0

http://androidsbs.blogspot.in/2013/10/have-clickable-phone-number-link-in .html –

+0

http://stackoverflow.com/questions/9725931/set-link-clickable-in-java-android –

回答

0

以上答案都不適用於我。以下是我如何修復它:

我的選項卡片段具有用於顯示自動鏈接的自定義ArrayAdapter。要初始化適配器,通過上下文是

getActivity().getApplicationContext() 

我改變的背景下getActivity()