Android小部件:如何确定单击了哪个按钮?

时间:2011-12-02 06:51:45

标签: android android-widget widget android-pendingintent

我的小部件有几个ImageButtons,为它们设置onClicked事件,我使用PendingIntent:

Intent intent = new Intent(context, UpdateService.class);
PendingIntent pendingIntent = PendingIntent.getService(context, 0, intent, 0);

RemoteViews remoteViews = new RemoteViews(context.getPackageName(), R.layout.main);
remoteViews.setOnClickPendingIntent(R.id.Button1, pendingIntent);

如果我只想为所有按钮使用一个PendingIntent和Service,我该如何确定点击了哪个按钮? 谢谢你!

2 个答案:

答案 0 :(得分:0)

我不明白为什么你只想使用一个PendingIntent。答案为每次点击创建多个意图。最简单的是给每个Intent一个特殊的动作。这样,您可以在收到意图时将点击事件分开。

答案 1 :(得分:0)

  

如何确定点击了哪个按钮?谢谢你!

这个怎么样?我将此代码添加到了MainActivity.java文件中。我的activity_main.xml有各种按钮,根据你按哪一个按钮将你带到一个特定的网站。我不想多次重复openWebSite()函数,所以我尝试了v.getID(),它为按下的按钮返回一个唯一值。我将使用此唯一编号转到正确的网站。

    public void openWebSite(View v) {

    if (v.getId()==2131230722) {
    String url = "https://www.facebook.com/pages/Emily-Otnes/110931118993282";
    Intent i = new Intent(Intent.ACTION_VIEW);
    i.setData(Uri.parse(url));
    startActivity(i);

    }
    Log.e("test", String.valueOf(v.getId()));
}