0
인터넷에서 일부 텍스트를 다운로드하는 클래스를 만들었으므로 해당 텍스트를 가져 와서 내 위젯에서 TextView
을 업데이트하고 싶습니다. 로깅 때문에 이벤트 (OnDownloadCompleteListener)가 트리거되는 것을 알고 있지만 해당 이벤트 내에서 TextView를 업데이트하는 방법을 알 수 없습니다. 나는 그것이 초보자 용 실수 인 것을 알고있다, 내가 무엇을 놓치고 있는지 명확히하지 않는다.이벤트 위젯의 텍스트 업데이트
public class Widget extends AppWidgetProvider{
InternetText internettext; //Handles downloading the text from the internet
RemoteViews views;
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
final int N = appWidgetIds.length;
// Perform this loop procedure for each App Widget that belongs to this provider
for (int i=0; i<N; i++) {
int appWidgetId = appWidgetIds[i];
// Create an Intent to launch ExampleActivity
Intent intent = new Intent(context, MainActivity.class);
PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0);
// Get the layout for the App Widget and attach an on-click listener
// to the button
views = new RemoteViews(context.getPackageName(), R.layout.widget);
views.setOnClickPendingIntent(R.id.tvWidgetVerse, pendingIntent);
internettext = new InternetText(context);
internettext.setOnDownloadCompleteListener(new OnDownloadCompleteListener() {
@Override
public void onEvent() {
TheText thetext = internettext.downloadedText(); //The text object
Log.i("", "Widget Text Downloaded " + thetext.getText()); //This fires so I know we've downloaded the text
TextStyling textStyle = new TextStyling();
//*****THIS IS WHERE I'M HAVING THE PROBLEM********
views.setTextViewText(R.id.tvWidgetText, Html.fromHtml(textStyle.boldWords(thetext.getText()))); //this never updates
}
});
internettext.getText();
// Tell the AppWidgetManager to perform an update on the current app widget
appWidgetManager.updateAppWidget(appWidgetId, views);
}
}
}
합니까 thetext.getText을해야 의미
앱? – TheHamstring
예. textview에 텍스트를 설정하는 것 외에는 모든 것이 제대로 작동합니다. 오류도 발생하지 않습니다. – bwoogie