我有这堂课:
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。
答案 0 :(得分:5)
R类维护的所有引用都是int。只需将其作为int传递,您就可以在函数中使用它
答案 1 :(得分:3)
这些是整数常量,而不是字符串。
答案 2 :(得分:1)
R类常量是整数,是应用资源中组件的唯一ID。 所以将它作为整数传递,然后你可以正常使用它。
或,因为您现在拥有它(字符串),您可以使用getResources().getIdentifier()
通过名称获取此ID。
但你甚至不需要通过它; R class是完全静态的,因此您可以从任何地方访问所有ID。