16

通常のビューと同じように、RemoteViews インスタンスを Canvas にレンダリングしようとしています。私が使う

RemoteViews.apply(コンテキスト、null)

すべてのビューがネストされ、適切に測定された (位置とサイズは正しい) FrameLayout を返しますが、返されたビューで .draw を使用した後、すべての要素を値なしでレンダリングします。TextView は空で、AnalogClock は 00 にリセットされます。 00など。

何か案は?道に迷いました :(

4

1 に答える 1

3

質問がまだ実際のものであるかどうかはわかりません。それにもかかわらず、これがRemoveViewsでの私の経験です。draw()返されたビューを呼び出すことはできないようです。このビューを親コンテナーに追加して、グローバル ビュー階層の一部にする必要があります。たとえばActivity、シングルFrameLayoutが入った があります。コードは次のようになります。

FrameLayout parent = findViewById(R.id.container);
View view = RemoteViews.apply(getActivity(), parent);
parent.addView(view);

これで、テストを表示できるはずです。リスナーを設定すると、それらも適切に機能します。

于 2014-02-20T19:14:57.353 に答える