2012-11-10 3 views
2

허니 콤 이상의 ListView 위젯이 있습니다.위젯 ListView에 대해 RemoteViews setOnClickPendingIntent가 실행되지 않습니다.

onUpdate에서 setOnClickPendingIntents가있는 맨 위에 표시 줄이 있는데 모두 정상적으로 작동합니다.

그러나 RemoteViews getViewAt() 함수의 ListViewAdapter에서는 setOnClickPendingIntents가 실행되지 않습니다.

이상한 일은 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

공개 무효 setOnClickPendingIntent (INT는 viewId, PendingIntent pendingIntent) setOnClickListener (android.view.View.OnClickListener)를 호출하는 것과

제공된 PendingIntent를 실행한다. 컬렉션 (예 : ListView, StackView 등) 내에서 항목의 클릭 동작을 설정할 때이 방법은 작동하지 않습니다. 대신 RemoteViews # setOnClickFillInIntent (int, Intent)와 함께 RemoteViews # setPendingIntentTemplate (int, PendingIntent)를 사용하십시오.

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

+1

감사합니다. 기본 자리 표시 자 인 텐트로 onUpdate 함수에 setPendingIntentTemplate을 설정 한 다음 원하는 항목을 추가하려면 setOnClickFillInIntent를 설정하십시오. – Rich2k

+0

@smith listView 대신 click 이벤트를 원할 경우 목록 항목 대신 해당 작업을 수행 할 수 있습니다. 왜냐하면 listView에서 setOnClickPendingIntent를 사용하면 위젯로드 문제가 발생하기 때문입니다. – AndroidDev

관련 문제