2012-02-15 9 views
1

実行時にウィジェットにtextviewsを追加します。私はRemoteViewsオブジェクトがaddViewメソッドを呼び出してレイアウトをいくつかのビューに追加するチュートリアルを多く見ました。Androidウィジェット:addViewがRemoteViewsオブジェクトで動作しない

RemoteViews views = new RemoteViews(context.getPackageName(), R.layout.main); 
TextView t = new TextView(context); 
views.addView(R.id.view_container, t); 
appWidgetManager.updateAppWidget(thisWidget, views); 

しかしaddViewメソッドはこのエラーを示しています方法のaddView(int型、RemoteViewsは)タイプRemoteViews.Trueについて定義されていません、この方法は、のViewGroupクラスに定義されていますが、なぜそれがその後、誰のために働いていますか?また、実行時にTextViewをいくつかのRemoteViewに追加する方法はありますか?

答えて

1

署名がありませんRemoteViews.addView(int, RemoteViews)

2番目のパラメータとしてTextViewがあるようです。このような

何か作業をする必要があります:

RemoteViews remoteViewToAdd = new RemoteViews(context.getPackageName(), LAYOUT_ID); 
... 
views.addView(R.id.view_container, remoteViewToAdd); 
+0

おかげで、私はパラメータを修正し、STIL同じエラーを取得:タイプRemoteViewsのために定義されていないメソッドaddView(int型、RemoteViewsを)。 addViewはViewGroupに対してのみ定義されているので、RemoteViewsはそれが子孫ではないかもしれないので、私は何とかRemoteViewをViewGroupにキャストしなければならないかもしれません。しかし、それがなければそれは他の誰のためにもなぜ機能しますか? – kkgery

+0

'RemoteViews.addView(int、RemoteViews)'がAPIレベル7で追加されました。あなたはそのレベル以上を使用していると仮定していますか? –

+0

修正済み。私は1.6をターゲットにしていた。ありがとうございました! – kkgery

関連する問題