0

Twitter フィード用のライブラリをまとめようとしていますが、ほとんどが機能していますが、クリックするとテキスト内のリンクがクラッシュするという問題が発生しています。これを修正するための正しい方向に。

私のつぶやきのメイン テキスト フィールドは、XML で次のように定義されています。

<TextView
    android:textColor="@android:color/black"
    android:id="@+id/TweetUITweetTextTextView"
    android:padding="@dimen/tweetTextPadding"
    android:layout_toRightOf="@+id/TweetUIUserProfileImageView"
    android:layout_below="@+id/TweetUIUsernameTextView"
    android:layout_height="wrap_content"
    android:layout_width="wrap_content"
    android:linksClickable="true"
    android:autoLink="web"
    android:text="@null" />

これは、カスタムの "TweetView" クラスに展開する相対レイアウト内にあります。

TweetView は基本的に、JSON クエリから解析された情報を含む一連の文字列である Tweet オブジェクトを取得し、それらの文字列を設定します (この場合、アンカー タグを含むツイートのメイン テキストと、Twitter JSON の URL メタデータからのその他のテキスト)これでテキストビューにフィード):

      if( tweet.tweetText != null && tweet.tweetText != "" )
            tweetTextTextView.setText( Html.fromHtml( tweet.tweetTextWithLinks ) );
        else
            tweetTextTextView.setText( "" );

クラッシュ時のエラースタックについては、次のとおりです。

 05-30 14:42:22.206: E/InputEventReceiver(22150): Exception dispatching input event.
 05-30 14:42:22.206: E/MessageQueue-JNI(22150): Exception in MessageQueue callback: handleReceiveCallback
 05-30 14:42:22.216: E/MessageQueue-JNI(22150): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity  context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.app.ContextImpl.startActivity(ContextImpl.java:944)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.app.ContextImpl.startActivity(ContextImpl.java:931)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.content.ContextWrapper.startActivity(ContextWrapper.java:284)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.text.style.URLSpan.onClick(URLSpan.java:62)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.text.method.LinkMovementMethod.onTouchEvent(LinkMovementMethod.java:212)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.widget.TextView.onTouchEvent(TextView.java:7536)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.View.dispatchTouchEvent(View.java:7246)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTransformedTouchEvent(ViewGroup.java:2174)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at android.view.ViewGroup.dispatchTouchEvent(ViewGroup.java:1917)
 05-30 14:42:22.216: E/MessageQueue-JNI(22150):     at com.android.internal.policy.impl.PhoneWindow$DecorView.superDispatchTouchEvent(PhoneWindow.java:1953)
 .....

ありがとうございました!

4

1 に答える 1