最近アンドロイドのプログラミングを始めたので、コードの一部に出くわしました。より良い方法で設計できるのではないかと思います。とSparseArray
呼ばれる抽象クラスへの Int の表す resourceId の包含マッピングがありResource
ます。複数のクラスがこのクラスから継承するため、リソースを取得したいときに質問が発生します。ResourceオブジェクトをジェネリックTにキャストしようとする私の現在よりも、このソリューションのより良い設計はありますか
public <T> T getAsset(int resourceId)
{
try
{
T ReturnAsset = (T)resources.get(resourceId);
return ReturnAsset;
}
catch(ClassCastException cce)
{
Log.w("Resource", "Invalid cast of asset "+cce.toString());
return null;
}
}