リソースmyResources = getResources();Androidでデータ型をキャストする
CharSequence styledText = myResources.getText(R.string.stop_message); 描画可能アイコン= myResources.getDrawable(R.drawable.app_icon);
int opaqueBlue = myResources.getColor(R.color.opaque_blue);
float borderWidth = myResources.getDemension(R.dimen.standard_border);
アニメーションtranout = AnimationUtils.loadAnimation(this、R.anim.spin_shrink_fade);
文字列{} stringArray = myResources.getStringArray(R.array.string_array);
int [] intArray = myResources.getIntArray(R.array.integer_array);
リソースmyResources = getResources(); AnimationDrawable rocket =(AnimationDrawable)myResources.getDrawable(R.drawable.frame_by_frame);
私は、最後の2つのステートメントを先のステートメントと比較します。私の質問は、キャスティングが必要でない上記の他の例でAnimationDrawableを明示的にキャストするのはなぜですか?
public class HelloAndroid extends Activity { /**アクティビティが初めて作成されたときに呼び出されます。 */ @Override パブリックボイドonCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); O setContentView(R.layout.main); – jojo10
public class HelloAndroid extends Activity { /**アクティビティが初めて作成されたときに呼び出されます。 */ @Override パブリックボイドonCreate(Bundle savedInstanceState){ super.onCreate(savedInstanceState); setContentView(R.layout。メイン);/**私はまだ混乱している。ですから、(HelloAndroid)を使ってonCreateメソッドをキャストする必要はありません.onアクティビティを拡張する場合は作成しますか? */ – jojo10
あなたがレイアウトしているようなロジックは、スーパークラスで生成されたメソッドが派生クラスで使用されるときに明示的にキャストすることです。そうであれば、superアクティビティクラスで生成されたonCreateメソッドは、public void(HelloAndroid).onCreate(Bundle savedInstanceState)などのキャストを持つべきではありません。 – jojo10