Android ListView getViewAt

时间:2013-09-05 12:58:38

标签: android android-widget homescreen

我正在尝试在homesreen小部件上的ListView上获取点击事件。 为此,我使用以下代码:

public class ViewFactory implements RemoteViewsService.RemoteViewsFactory {
...

  @Override
    public RemoteViews getViewAt(int position) {
         RemoteViews row=new RemoteViews(ctxt.getPackageName(),
                R.layout.row);
        Log.i("position receive trans", Integer.toString(position));

        row.setTextViewText(android.R.id.text1, items[position]);
        Intent i = new Intent(this.ctxt, AppWidget.class);
        i.setAction(ACTION_WIDGET_UPDATE_POSITION);
        i.putExtra("position", position);
        row.setOnClickFillInIntent(android.R.id.text1, i);
        return(row);
    }

但是我不仅在点击小部件后才收到此事件。在将小部件添加到主屏幕后,我也得到了这个。

有没有办法确定不同的动作(点击并添加到主屏幕?)

1 个答案:

答案 0 :(得分:0)

这种情况可以通过确定 intent.getAction();
对于启用小部件是:android.appwidget.action.APPWIDGET_ENABLED
对于updatewidget是:android.appwidget.action.APPWIDGET_UPDATE