[解決済み] Android Gradle Plugin バージョン 5.0 ではリソース ID が非最終値になるため、switch case ステートメントでの使用を避けてください」という警告を解決するにはどうすればよいでしょうか。重複
2023-04-19 15:45:50
質問
@Override
public void onClick(View v) {
switch (v.getId())
{
case R.id.legalInformationLL:
startActivity(new Intent(AboutActivity.this, LegalInformation.class));
break;
case R.id.backIB:
finish();
break;
}
}
このコードに対して "リソースIDはAndroid Gradle Pluginバージョン5.0ではnon-finalとなるため、switch case文での使用を避けるように" という警告が表示されました。どのような解決策が考えられますか?このコードを次のように変更すると
@Override
public void onClick(View v) {
int id = v.getId();
if (id == R.id.legalInformationLL) {
startActivity(new Intent(AboutActivity.this, LegalInformation.class));
} else if (id == R.id.backIB) {
finish();
}
}
という警告が出ますが、switch文はif文に比べてパフォーマンス的に優れています。そこで、より速く効率的に動作する可能性のある解決策は何でしょうか?
どのように解決するのですか?
ADT 14 以降、リソース識別子が最終的なものでなくなったため、この問題が発生しました。
次のリンクを参照してください。Googleは、代わりに if/else" を使用することを述べています。 を使うようにと述べています。
http://tools.android.com/tips/non-constant-fields
とはいえ、パフォーマンスに関しては "スイッチ" ステートメントの方が "if/else"。 の条件よりよいかもしれません。
しかし、あなたの場合、パフォーマンスや効率を得たり失ったりすることはありません。
が持つ性能の種類は "スイッチ" 文は、レンダー ループや効率に焦点を当てたアルゴリズムなど、高い効率を必要とする可能性があるより具体的なエッジ ケースについて考慮する必要があります。
あなたのユースケースのために if/else" を使用します。 条件を使用することは、効率的な問題を伴わない良い解決策です。
関連
-
[解決済み] handler.postDelayed()を停止する。
-
[解決済み] ViewPagerのアイテムを強制的に再インスタンス化する方法 [重複].
-
[解決済み] AppCompat-v7 21でアクションバー/ツールバーにアイコンを表示する。
-
[解決済み] アプリ内課金テスト:android.test.purchased already owned
-
[解決済み] これはどういうことですか?失敗 [INSTALL_FAILED_CONTAINER_ERROR]?
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] APKが署名済みかデバッグビルドかを確認するには?
-
[解決済み] 非推奨のandroid.support.v4.app.ActionBarDrawerToggleの置き換え方法
-
[解決済み] Android Lintが翻訳されていない文字列を訴えないようにする。
-
[解決済み] Android APKファイルの中身を見るには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] AndroidにおけるViewPager2の適切な実装
-
[解決済み] AppCompat-v7 21でアクションバー/ツールバーにアイコンを表示する。
-
[解決済み] バイト配列の画像ファイルをビットマップに変換するには?
-
[解決済み] DialogFragmentを正しく終了させるには?
-
[解決済み] 文字サイズとアンドロイドの画面サイズの違い
-
[解決済み] react nativeアプリのバージョン番号を更新する方法
-
[解決済み] Gradleでビルドタイプを使用し、ContentProviderを使用する同じアプリを1つのデバイスで実行する。
-
[解決済み] TextView.setTextSizeの挙動がおかしい - テキストビューのテキストサイズを画面ごとに動的に設定する方法
-
[解決済み] Androidでツールバーの戻るボタンの色を変えるには?
-
[解決済み] ViewPager2でスワイプを無効にするには?