2011-10-23 15 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); 
.... 
} 

私はbuildClockに "R.id.widgetHour"()メソッドを渡すとのparamとしてsetImageViewBitmapする必要があります。

+0

整数値です。整数を受け入れるようにパラメータを修正します。 – Shardul

答えて

5

Rクラスによって維持されるすべての参照はint型です。それをintとして渡すだけで、関数内で使用できるようになります。

3

これは文字列ではなく整数定数です。

1

Rクラスの定数は整数で、アプリのリソース内のコンポーネントの一意のIDです。 これを整数として渡すと、通常どおりに使用できます。

または現在のところ(文字列)であるため、getResources().getIdentifier()を使用してこのIDを取得することができます。

でも、それを渡す必要はありません。 Rクラスは完全に静的であるため、あらゆる場所からすべてのIDにアクセスできます。