2013-02-20 2 views
0

Я андроид для noob, и я пытаюсь зациклировать текст в двух текстовых изображениях в виджетах с текстом из ArrayList. По какой-то причине виджет отображает только первые текстовые значения из ArrayList и не зацикливает последующие значения. Я уверен, что мой Arraylist имеет несколько значений, так что это не проблема. Любая помощь приветствуется.Почему мой текст не задает текст в виде виджета

My Code;

void updateStory() { 

    tickerheadline = RssReader.rssheadline.get(storyCounter); 
    tickerstory = RssReader.rssstory.get(storyCounter); 
    remoteViews.setTextViewText(R.id.headline, tickerheadline); 
    remoteViews.setTextViewText(R.id.story, tickerstory); 
    if (storyCounter==RssReader.rssheadline.size()-1){ 
     storyCounter = 0; 
    }else{ 
     storyCounter++; 
    } 
    appWidgetManager.updateAppWidget(R.layout.widget1, remoteViews); 

    mHandler.postDelayed(new Runnable() { 
     public void run() { 
      updateStory(); 
     } } ,5000); } 

} 
+0

Какая ошибка? – gpasci

+0

нет ошибки. Текст просто не перезагружается внутри виджета. –

+0

«Я уверен, что у моего Arraylist есть несколько значений, так что это не проблема»: вы зарегистрировали это? Из того, что я вижу, этот бит кода в порядке. – Geobits

ответ

2

После каждого изменения необходимо обновить виджет через AppWidgetManager.

AppWidgetManager appWidgetManager = AppWidgetManager.getInstance(context); 
appWidgetManager.updateAppWidget(appWidgetId, remoteViews); 
+0

спасибо, что ответили. Пожалуйста, проверьте мое Редактирование, я добавил ваше предложение после моего кода, но он все еще не wrking. Я сделал что-то не так? –

+0

Ваш параметр для appWidgetId неверен. Вы используете идентификатор вашего представления, но он должен быть идентификатором, который система использует для вашего приложения, переданного вам в вашем методе AppWidgetProvider.onUpdate(). – paul

+0

Он работает !!! Спасибо. Я несколько часов сбивался с толку. –

Смежные вопросы