2011-05-25 80 views
0

所以,我将TextView的属性设置为突出显示手机。当我点击电话我得到这个:当用户点击与android的文本框时,应用程序崩溃:autoLink =“phone”

ERROR/AndroidRuntime(4853): FATAL EXCEPTION: main 
     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:624) 
     at android.content.ContextWrapper.startActivity(ContextWrapper.java:258) 
     at android.text.style.URLSpan.onClick(URLSpan.java:62) 
     at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:216) 
     at android.widget.TextView.onTouchEvent(TextView.java:6863) 
     at android.view.View.dispatchTouchEvent(View.java:3885) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:942) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1691) 
     at com.android.internal.policy.impl.PhoneWindow.superDispatchTouchEvent(PhoneWindow.java:1125) 
     at android.app.Activity.dispatchTouchEvent(Activity.java:2096) 
     at com.android.internal.policy.impl.PhoneWindow$DecorView.dispatchTouchEvent(PhoneWindow.java:1675) 
     at android.view.ViewRoot.deliverPointerEvent(ViewRoot.java:2194) 
     at android.view.ViewRoot.handleMessage(ViewRoot.java:1878) 
     at android.os.Handler.dispatchMessage(Handler.java:99) 
     at android.os.Looper.loop(Looper.java:130) 
     at android.app.ActivityThread.main(ActivityThread.java:3683) 
     at java.lang.reflect.Method.invokeNative(Native Method) 
     at java.lang.reflect.Method.invoke(Method.java:507) 
     at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:839) 
     at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:597) 
     at dalvik.system.NativeStart.main(Native Method) 

我认为这可能与我的活动我实现BaseActivity(抽象类)的事实。但我该如何解决这个问题?其他一切似乎都很好。

回答

0

This link may be helpful。这基本上是暗示你试图使用不是来自你当前所在活动的上下文来启动一个活动。(或者你或者你不在活动中......)

0

我想你想要点击该号码拨打电话吧?

然后为了这个目的,你可以把它作为:

String uri = "tel:" + phoneNo.trim() ; //phoneNo is String variable which contains your no 
Intent intent = new Intent(Intent.ACTION_CALL); 
intent.setData(Uri.parse(uri)); 
startActivity(intent); 
+0

其实,这是自由形式的TextView - 可以包含电话号码。在我的“开发人员”版本中,android:autoLink =“phone”做到了这一点。它现在也可以正确使用手机,但无法点击。 – katit 2011-05-25 05:11:44

相关问题