我如何将R.id传递给方法?

时间:2011-10-23 17:36:48

标签: android android-widget

我有这堂课:

public class FlowerForYouWidget extends AppWidgetProvider

@Override
public void onUpdate(Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds) {
....
RemoteViews views = new RemoteViews(context.getPackageName(),R.layout.flower_widget);
buildClock(context, views, "R.id.widgetHour", curHour);
....
}

public static RemoteViews buildClock(Context context, RemoteViews views, String btnId, String currentValue)
{
....
views.setImageViewBitmap(btnId, myBitmap);
....
}

我需要将“R.id.widgetHour”传递给buildClock()方法并将setImageViewBitmap传递为param。

3 个答案:

答案 0 :(得分:5)

R类维护的所有引用都是int。只需将其作为int传递,您就可以在函数中使用它

答案 1 :(得分:3)

这些是整数常量,而不是字符串。

答案 2 :(得分:1)

R类常量是整数,是应用资源中组件的唯一ID。 所以将它作为整数传递,然后你可以正常使用它。

,因为您现在拥有它(字符串),您可以使用getResources().getIdentifier()通过名称获取此ID。

但你甚至不需要通过它; R class是完全静态的,因此您可以从任何地方访问所有ID。