hereを見て、副題にスクロールして、個々のアイテムに振る舞いを追加する。
あなたは、あなたのRemoteViewsService.RemoteViewsFactory
実装からあなたのAppWidgetProvider
とsetOnClickFillInIntent()
から両方setPendingIntentTemplate()
を呼び出すことを確認する必要があります。例えば
:私はそれがやや難しい(方向性をhereを参照)することが分かっが
public class Widget extends AppWidgetProvider {
// ...
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
for(int i = 0; i < appWidgetIds.length; i++){
RemoteViews widget = new RemoteViews(context.getPackageName(), R.layout.widget);
Intent startActivityIntent = new Intent(context, myActivity.class);
PendingIntent startActivityPendingIntent = PendingIntent.getActivity(context, 0, startActivityIntent, PendingIntent.FLAG_UPDATE_CURRENT);
widget.setPendingIntentTemplate(R.id.list_view, startActivityPendingIntent);
appWidgetManager.updateAppWidget(appWidgetIds[i], widget);
// ...
}
}
public class WidgetAdapter implements RemoteViewsService.RemoteViewsFactory {
// ...
@Override
public RemoteViews getViewAt(int position) {
RemoteViews widgetRow = new RemoteViews(context.getPackageName(), R.layout.widget_row);
Intent fillInIntent = new Intent();
fillInIntent.putExtra(Widget.EXTRA_LIST_VIEW_ROW_NUMBER, position);
widgetRow.setOnClickFillInIntent(R.id.list_view_row, fillInIntent);
// ...
return row;
}
}
は、SDK samplesであるStackWidgetサンプルでより決定的例があります。それはToastメッセージを表示する意図を作成しますが、同じコードを使用します。
私はこれがより簡単だと思う:http://stackoverflow.com/a/20774402/878126 –
私のために働いた唯一のもの。ありがとうございます – IHeartAndroid
それはListViewのすべてのデータを取得するようだので、あなたはputted正しい余分を返さないの活動に行くとき。これを解決するには? – natsumiyu