Bazı dizileri bir onUpdate() yönteminde başlatıyorum ve bundan sonra, bir niyet ve bir düğme kullanarak, iyi çalıştıran onUpal() işlevini çağırmaya çalışıyorum ancak onUpdate() yönteminde ayarlanan dizilere erişemiyorum. Neden? Bu diziler nesne değişkenleridir ve kamuya açıklanır. Bir şey mi eksik?Widget onUpdate, onReceive
onready(): AppWidgetProvider API itibaren
package net.aerosoftware.widgettest;
import java.util.HashMap;
import android.app.PendingIntent;
import android.appwidget.AppWidgetManager;
import android.appwidget.AppWidgetProvider;
import android.content.Context;
import android.content.Intent;
import android.util.Log;
import android.widget.RemoteViews;
public class WidgetTest extends AppWidgetProvider {
public static String ACTION_WIDGET_RECEIVER = "ActionReceiverWidget";
public HashMap<Integer, String> channelsImages;
@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds)
{
Log.e("UPDATE", "Start");
RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
channelsImages = new HashMap<Integer, String>();
channelsImages.put(0, "one");
channelsImages.put(1, "two");
Intent active = new Intent(context, WidgetTest.class);
active.setAction(ACTION_WIDGET_RECEIVER);
PendingIntent actionPendingIntent = PendingIntent.getBroadcast(context, 0, active, 0);
remoteViews.setOnClickPendingIntent(R.id.buttonclick, actionPendingIntent);
super.onUpdate(context, appWidgetManager, appWidgetIds);
appWidgetManager.updateAppWidget(appWidgetIds, remoteViews);
Log.e("UPDATE", "End");
}
@Override
public void onReceive(Context context, Intent intent)
{
Log.e("RECEIVE", "Start 2");
if (intent.getAction().equals(ACTION_WIDGET_RECEIVER))
{
try
{
Log.e("SIZE", "Size Of channel array: "+channelsImages.size());
}
catch(Exception e)
{
Log.e("ON_RECIEVE_ERROR", " "+e.getMessage());
}
}
super.onReceive(context, intent);
Log.e("RECEIVE", "End");
}
}
"Erişemez" ile ne demek istiyorsun? Herhangi bir istisna var mı? içerik boş mu? – DuduAlul
Evet, boş gösterici istisnası. – dfilkovi
Sorunuza kodu ekleyebilir, bu da işleri kolaylaştırır. – DuduAlul