Warum funktioniert Marquee im Widget nicht?

Ich bin ein Anfänger von Android und ich versuche, ein Widget zu erstellen, das Textview-Laufschrift verwendet, um Tweets in einer Ticker-Art und Weise anzuzeigen. Wenn ich den Text in der XML-Datei einstelle, wird der Laufschrift-Bildlauf im Widget ordnungsgemäß ausgeführt. Wenn ich jedoch versuche, den Text programmgesteuert festzulegen, scrollt der Auswahlrahmen nicht. Der Text ist gesetzt, aber es wird nicht gescrollt. Dieses Verhalten ist verwirrend, weil ich verwendet habediese SO eine Frage als mein Führer. Jede Hilfe wird sehr geschätzt.

Mein Layout

<TextView
        android:id="@+id/ticker"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentRight="true"
        android:duplicateParentState="true"
        android:ellipsize="marquee"
        android:fadingEdge="horizontal"
        android:focusable="true"
        android:focusableInTouchMode="true"
        android:lines="1"
        android:marqueeRepeatLimit="marquee_forever"
        android:scrollHorizontally="true"
        android:text="Simple application that shows how to use marquee, with a long text for Twitter Feed" > //<--this text scrolls fine

        <requestFocus
            android:duplicateParentState="true"
            android:focusable="true"
            android:focusableInTouchMode="true" />
    </TextView>

Mein Code

public static void updateAppWidget(Context context, AppWidgetManager appWidgetManager, int appWidgetId) {
    //String currentTime =  df.format(new Date());
    String spotgold = String.valueOf(MyActivity.widgetlivespotgold);
    String spotsilver =  String.valueOf(MyActivity.widgetlivespotsilver);
    StringBuilder tickertweets=new StringBuilder();
    for (int i = 0; i < MyActivity.twittername.size(); i++) {
        tickertweets.append(MyActivity.twittername.get(i) + ":" + " " + MyActivityActivity.twittertweet.get(i) + " ");
    }


    RemoteViews updateViews = new RemoteViews(context.getPackageName(), R.layout.widget1);

    updateViews.setTextViewText(R.id.goldspot, spotgold);
    updateViews.setTextViewText(R.id.silverspot, spotsilver);
    updateViews.setTextViewText(R.id.ticker, tickertweets.toString()); //Text is set, but doesn't scroll    
    appWidgetManager.updateAppWidget(appWidgetId, updateViews);
}

Antworten auf die Frage(4)

Ihre Antwort auf die Frage