2

ハニカム以上の ListView ウィジェットがあります。

onUpdate の setOnClickPendingIntents で上部にバーがあり、すべて正常に動作します。

ただし、RemoteViews getViewAt() 関数 setOnClickPendingIntents の ListViewAdapter では、決して起動しません。

奇妙なことに、ICS では問題なく動作していましたが、私の JellyBean デバイスでは停止しました。

私のコードは次のとおりです

@Override
public RemoteViews getViewAt(final int position) {
    final RemoteViews views = new RemoteViews(context.getPackageName(), layout);
            final PendingIntent home_intent = PendingIntent.getActivity(context, 0, new Intent(
            INTENT_ACTION_HOME), Intent.FLAG_ACTIVITY_BROUGHT_TO_FRONT);
    views.setOnClickPendingIntent(R.id.row_item, home_intent);
}

ウィジェットの onUpdate 関数で起動されたこれとまったく同じインテントは正常に機能しますが、ListView アダプターでは機能しません。

4

1 に答える 1

5

ドキュメントから

public void setOnClickPendingIntent (int viewId, PendingIntent pendingIntent)

setOnClickListener(android.view.View.OnClickListener) を呼び出して、提供された PendingIntent を起動するのと同じです。コレクション内の項目 (例: ListView、StackView など) のクリック時のアクションを設定する場合、このメソッドは機能しません。代わりに、{@link RemoteViews#setPendingIntentTemplate(int, PendingIntent) を RemoteViews#setOnClickFillInIntent(int, Intent) と組み合わせて使用​​します。

http://developer.android.com/reference/android/widget/RemoteViews.html

于 2012-11-10T05:11:50.680 に答える