2010-06-03 26 views
3

有什麼辦法來鏈接ListView中包含的特定TextView?我嘗試過使用android:autoLink="all",但沒有奏效。我得到了一個上下文錯誤。Android - autoLink

重要的還要注意:ListView是我在ViewFlipper中的第二個視圖。

我也曾嘗試:

  View mItemView = mAdapter.getView(2, null, null); 
     TextView infoText = (TextView) mItemView.findViewById(R.id.rowText2); 
     Linkify.addLinks(infoText, Linkify.ALL); 

右後適配器被綁定到ListView和查看被切換。沒有運氣。

這裏是堆棧跟蹤:

06-03 21:19:25.180: ERROR/AndroidRuntime(1214): Uncaught handler: thread main exiting due to uncaught exception 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want? 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.app.ApplicationContext.startActivity(ApplicationContext.java:550) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.content.ContextWrapper.startActivity(ContextWrapper.java:248) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.text.style.URLSpan.onClick(URLSpan.java:62) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:216) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.widget.TextView.onTouchEvent(TextView.java:6560) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.View.dispatchTouchEvent(View.java:3709) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:884) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1659) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1107) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.app.Activity.dispatchTouchEvent(Activity.java:2061) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1643) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.view.ViewRoot.handleMessage(ViewRoot.java:1691) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.os.Handler.dispatchMessage(Handler.java:99) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.os.Looper.loop(Looper.java:123) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at android.app.ActivityThread.main(ActivityThread.java:4363) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at java.lang.reflect.Method.invokeNative(Native Method) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at java.lang.reflect.Method.invoke(Method.java:521) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618) 
06-03 21:19:25.219: ERROR/AndroidRuntime(1214):  at dalvik.system.NativeStart.main(Native Method) 

什麼想法?

在此先感謝!

回答

0

堆棧跟蹤抱怨說,您已經在活動上下文之外調用startActivity()而不設置特定標誌。它似乎不涉及你的Linkify。

+0

確實,對不起,我忘了提及Linkify能正常工作,但是當你點擊說一個電話號碼,它會啓動意圖。它爆炸並給了我。有任何想法嗎? – Ryan 2010-06-03 22:02:18

7

這爲我工作: http://www.anddev.org/view-layout-resource-problems-f27/linkify-problem-t14779.html

基本上不使用getApplicationContext()當你不意味着它

GOOD(從鏈接盜取)(linkify作品)

CustomAdapter mAdapter = new CustomAdapter(this, itemList); 

BAD(linkify在運行時失敗:從外部調用startActivity()...)

Context mContext = getApplicationContext(); 
CustomAdapter mAdapter = new CustomAdapter(mContext, itemList); 
+0

謝謝,認爲有一個簡單的解決方案。我正在做你正在做的,用這個而不是getApplicationContext()並且工作得很好。謝謝。 – Chrispix 2011-06-27 03:59:14

0

我得到了同樣的錯誤。並與它奮鬥了大約4天..之後,我得到了解決方案。

我會telll你我做了什麼......

當你在一個類的OnCreate使用Linkify那麼完美。當你創建一個方法並嘗試調用Linkify時,它不起作用,並給你同樣的錯誤。

如果你必須調用一個不同的方法,然後請傳遞給你的onCreate上下文,並創建Textviews或其他與它....它似乎根據第一個答案有點我猜...

Rajesh

相關問題