小编Dav*_*vid的帖子

旋转屏幕时,按钮在小部件上单击丢失

我有一个非常简单的小部件应用程序,它包含一个LinearLayout带背景和一个ImageButton.

在该AppWidgetProvider onUpdate()方法中,我注册按钮的单击以广播意图.当小部件首次加载时,一切运行正常并且捕获点击.旋转屏幕时会出现问题,即使屏幕向后旋转,也不会再次捕获点击.

屏幕旋转时,如何重新注册咔嗒声?

下面是我正在使用的一些代码段.

的AppWidgetProvider

@Override
public void onReceive(Context context, Intent intent)    
{
    super.onReceive(context, intent);

    if(intent.getAction().equals("test.CLICK"))
    {
        CallTestMethod(context);
    }
}
@Override
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];

        RemoteViews views=new RemoteViews(context.getPackageName(), R.layout.widget);            
        Intent clickintent=new Intent("test.CLICK");
        PendingIntent pendingIntentClick=PendingIntent.getBroadcast(context, 0, clickintent, PendingIntent.FLAG_UPDATE_CURRENT);
        views.setOnClickPendingIntent(R.id.change_mode, pendingIntentClick); …
Run Code Online (Sandbox Code Playgroud)

android widget android-widget

5
推荐指数
2
解决办法
3558
查看次数

标签 统计

android ×1

android-widget ×1

widget ×1