私は Android アプリを書いていますが、非常に奇妙な状況に遭遇しました。「loading.xml」という名前のアニメーション ローディング グラフィック用に作成したアニメーション リスト xml ファイルがあり、それをコード内の ImageView の背景として設定しています。それは次のようなものです:
public void startLoading() {
if(!isLoading) {
loading.setBackgroundResource(R.drawable.loading);
loading.post(new Runnable() {
public void run() {
anim = (AnimationDrawable) loading.getBackground();
anim.start();
}
});
flMask.setBackgroundResource(R.drawable.mask_loading);
flMask.setVisibility(View.VISIBLE);
flMask.bringToFront();
isLoading = true;
}
}
これは何の問題もなく素晴らしく機能します。ただし、'loading.xml' の名前を 'anim_loading.xml' に変更すると (通常の命名スキームと一致するようにするため)、強制的に閉じることができます。
java.lang.ClassCastException: android.graphics.drawable.ColorDrawable
行で
anim = (AnimationDrawable)loading.getBackground();
名前を変更した後、強制終了します。「loading.xml」に戻すと、再び正常に動作します。
私は本当にこれに困惑しています。正しい名前で完全に新しいファイルを作成し、さまざまなクリーン/ビルド、Eclipse の終了/再開、AVD の終了/再開、AVD のワイプ、再インストールを試みました。xml ファイルの名前を完全に別のものに変更してみました。同じ名前の他のリソースはありません。これまでのところ、「loading.xml」という名前のファイルを残す以外に何も機能していません。少なくとも機能しますが、面倒です。私は同じタイプの問題を抱えている人を見つけることができませんでした.SOやインターネットと同じくらい広大です.
このファイルの名前を変更できない理由について誰か考えがありますか?