2011-07-14 7 views
0

なぜ私が言って警告取得しています:「ローカルで読んだことがない」

The field testscreen.ScaleAnimToShow.mVanishAfter is never read locally testscreen.java /testscreen/src/com/testscreen line 186 Java Problem 

を次のコードからの?

public class ScaleAnimToShow extends ScaleAnimation{ 
     private View mView; 
     private LayoutParams mLayoutParams; 
     private int mMarginBottomFromY, mMarginBottomToY; 
     private boolean mVanishAfter = false; 

     public ScaleAnimToShow(float toX, float fromX, float toY, float fromY, int duration, View view,boolean vanishAfter){ 
      super(fromX, toX, fromY, toY); 
      openLayout = view; 
      setDuration(duration); 
      mView = view; 
      mVanishAfter = vanishAfter; 
      mLayoutParams = (LayoutParams) view.getLayoutParams(); 
      mView.setVisibility(View.VISIBLE); 
      int height = mView.getHeight(); 
      //mMarginBottomFromY = (int) (height * fromY) + mLayoutParams.bottomMargin + height; 
      //mMarginBottomToY = (int) (0 - ((height * toY) + mLayoutParams.bottomMargin)) + height; 
      mMarginBottomFromY = 0; 
      mMarginBottomToY = height; 
      Log.v("CZ",".................height..." + height + " , mMarginBottomFromY...." + mMarginBottomFromY + " , mMarginBottomToY.." +mMarginBottomToY); 
     } 
+0

あなたはそのクラスのどこでも 'mVanishAfter'の値を読んでいますか? – Mat

答えて

4

これは、メモリ内のスペースを占めるが、プログラムのどこでも読み取られないフィールドがあるためです。

あなたはこの警告を解決することができます

  • はこのフィールドを削除します。それを使用しない場合は、コード内に保管しないでください。
    または
  • @SuppressWarnings("unused")注釈を追加します。これは、このフィールドがアノテーションを介して使用されている場合や、その他の理由でコード内に保持したい場合に便利です。
@SuppressWarnings("unused") 
private boolean mVanishAfter = false; 
+0

上記の完全なクラスコードを投稿しました。ご覧ください。 _private boolean mVanishAfter = false;を削除しようとしました_その後、多くのエラーメッセージが表示されます。 _ @ SuppressWarning( "unused")_は警告を表示しませんが、実際に問題を解決して警告を隠す必要はありません。 – super

+1

このフィールドと、このフィールドへの書き込み場所を削除する必要があります: 'mVanishAfter = vanishAfter;'これにより、エラーが発生することなく警告が解決されます。 – inazaruk

+0

ここからも削除する必要があります:_public Sc​​aleAnimToShow(浮動小数点数、浮動小数点数、浮動小数点数、浮動小数点数、整数値、ビュー表示、**論理値vanishAfter **) – super

0

あなたはmVanishAfterを読んだことがないので。少なくともあなたが投稿したコードでは、あなたはそれだけに割り当てられます。プライベートなので、他の場所から読むことはできません。変数が割り当てられている場合、変数は「読み込み」されません。

+0

でなければなりません。上記の完全なクラスコードを投稿しました。ご覧ください。 _private boolean mVanishAfter = false;を削除しようとしました_その後、多くのエラーメッセージが表示されます。 _ @ SuppressWarning( "unused")_は警告を表示しませんが、実際に問題を解決して警告を隠す必要はありません。 – super

2

プライベートクラスメンバmVanishAfterがあります。これは決して読み込まれません。クラス内でプライベートなので、IDEは使用されていないことが分かります。これは間違いのようです。

関連する問題