单击事件的Android小部件

我已经在android中创build了小部件,它成功的工作,但现在我想用点击事件的小部件,以便我可以打开新的活动。

帮我

Solutions Collecting From Web of "单击事件的Android小部件"

@Override public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) { for (int i = 0; i < appWidgetIds.length; i++) { int appWidgetId = appWidgetIds[i]; Intent intent = new Intent(context, TaskManagerActivity.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.widget); views.setOnClickPendingIntent(R.id.widget_layout, pendingIntent); appWidgetManager.updateAppWidget(appWidgetId, views); } } 

在widget.xml中,我有带有id widget_layout的根元素LinearLayout

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/widget_layout" android:layout_width="fill_parent" android:layout_height="fill_parent" android:paddingTop="10dip" android:paddingLeft="10dip" android:orientation="vertical"> 

我用这个:

 // Create an Intent to launch ExampleActivity Intent intent = new Intent(context, Mainpage.class); PendingIntent pendingIntent = PendingIntent.getActivity(context, 0, intent, 0); remoteViews.setOnClickPendingIntent(R.id.widget, pendingIntent); 

在你的布局内,为特定的部件给

 android:onClick="your method name inside your activity" 

并在你的活动中,给:

 public void methodname(View view) { //give your intent code here } 

注意:当你调用像这样的方法时,你的方法应该是public的,它应该有一个View对象作为参数。