2016-12-23 6 views
-1

バージョン21より高いバージョンのSDKでは、特定のレイアウトを使用します。
下位バージョンの場合は、波紋エフェクトのために余分なオブジェクトがあり、これでコード内のレイアウトを区別しています。Build.VERSION.SDK_INTが機能しない

if (Build.VERSION.SDK_INT < 21) { 
      RippleView rippleView1 = (RippleView) findViewById(R.id.ripple1); 
... 
} 

しかし、私は、Android Mでコンパイルするとき、私はこのエラーを取得する:

Error:(45, 68) error: cannot find symbol variable ripple1. 

私は私のレイアウト-V21にこのオブジェクトを追加した場合、私はもはやこのエラーを持っていないし、私はこのオブジェクトを使用これではif。
私の質問は、Androidが21よりも高いバージョンでこのステートメントをどのように入力するのですか?

+1

コード全体がコンパイルされ評価されているので、あなたはifステートメント –

+0

@ cricket_007 okを持っているだけなので、セクションは「削除」されません。どうすればsdk> 21なら評価できないのでしょうか? – filol

+0

「ripple1」idを他の場所で定義できないのはなぜですか? –

答えて

1

新しいファイルを作成した場合

<resources> 
    <item name="ripple1" type="id"/> 
</resources> 

とレイアウトandroid:id="@id/ripple1"(プラスを除く)でres/values/ids.xml

Javaコードでは、if文をそのまま使用してください。コンパイルする必要があります。

+0

ty、うまく働いています – filol

関連する問題