2010-12-13 18 views
2

私はAndroidのソースコードを閲覧し、ここでつまずいた:
https://android.googlesource.com/platform/packages/apps/Gallery/+/master/src/com/android/camera/CropImage.java初期化されていない変数は

CropImage.javaファイルは、ライン740で私が話しています741などのいくつかの初期化されていない変数を持っているように思われますmLeft、mRight、mTop、およびmBottom変数。

これらはクラス内のどこにも宣言されていないようです。

ここに何か不足していますか?これらのエラーでコードはどのようにコンパイルされますか?

+0

コードを調べるだけで見つけることができませんでした。あなたはちょうどプロジェクトをダウンロードし、日食ですべてを見てみましたか?私の最高の推測は、そのグローバル変数です(なぜ誰かがIDKを行うだろう...笑)しかし、私は全体をダウンロードし、それをコンパイルして(もしあなたがまだいないならば)追加の情報を教えてください。 – Terrance

+1

良い提案私はこのことをコンパイルしようとしましょう –

+0

+2 NP。これも私に役立ちます。ソースと一緒にすべての感情的なgettinは楽しいです。だから評決は何ですか? – Terrance

答えて

1

これらは親クラス(View)の保護されたメンバーです。

+0

+1 me thx much。 – Terrance

1

親クラスで初期化されています。

+0

どちらの親ですか? ImageViewTouchBaseでは表示されませんし、ImageViewやViewでも表示されません。私は自分自身Androidのシーンに新しいので、noobishの間違いは、リンクや何かを提供してください。私はgetLeft()とgetRight()が表示されますが、mLeftとmRightが宣言されている場所は見えません。 – Terrance

+1

まさに!! 。私はそれらがどこでも宣言されているのを見ません。誰でも正確にどこにいるのか(ちょっと好奇心から) –

+0

android.view.ViewのsetFrame()メソッドで初期化されます。これは、レイアウト中にドキュメントが呼び出されます。単純に、setFrame()が呼び出されないインスタンスは存在しない可能性があります。 IDEでこれを見るのではなく、すべてのリファレンスをプレーンテキストでトレースするのは難しいです。 –

関連する問題