2011-10-23 63 views
0

我有此類:如何將R.id傳遞給方法?

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

它是一個整數值。更正你的參數接受一個整數 – Shardul

回答

5

由R類維護的所有引用都是int類型的。只需將它作爲int傳遞並且可以在您的函數內使用它

3

這些是整數常量,而不是字符串。

1

R類常量是整數,應用程序資源中組件的唯一標識。 所以把它作爲一個整數傳遞,然後你可以正常使用它。

就像你當前擁有它(一個字符串),你可以使用getResources().getIdentifier()來得到這個id的名字。

但你甚至不需要通過它; R類是完全靜態的,所以你可以從任何地方訪問你的所有ID。