1

「サービスの開始」を 2 つのアクティビティで呼び出すことができるサービスがあり、サービスの開始中にイメージ ビューを変更したいのですが、「findViewById」を実行しようとすると、このエラーが発生しました。

The method findViewById(int) is undefined for the type Main

私は何をすべきか ?

4

3 に答える 3

5

ImageViewサービスではなくアクティビティから変更する必要があります。

于 2012-12-02T23:06:57.333 に答える
0

findviewByid(int)とを区別する必要がLayout.inflate(int)あるので、私の提案は次のとおりです。

  • Activity で親ビューを取得するLayout.inflate(int)

  • 親ビューを使用して呼び出すfindViewById(int)

試してみてください、幸せなコード:)

于 2012-12-03T05:23:22.757 に答える
-1

コンテキストをサービスに渡し、次のことを行うことでそれを行うことができます。

mContext.findViewById(int)

しかし、インテント、静的メソッド、またはエイドル (インテントまたは静的をお勧めします) を介してアクティビティの関数を呼び出すと、より論理的になります。たとえば、「changeImage()」と言って、アクティビティにすべてのビュー処理作業を行わせます。

于 2012-12-02T23:11:34.650 に答える