私のアプリケーションは、選択した 2 つのラジオ ボタンのいずれかに基づいてイメージ スイッチャーのコンテンツを選択する予定です。ラジオボタンをクリックすると、アプリケーションは目的のオプションを選択せず、最終的にアプリケーションがクラッシュしました。
大きな問題は、チェックされたラジオボタンに基づいて、swicher の画像を保持している配列を解放したいということです。
また、それを参照するイメージを持つ 2 つの配列があります。ギャラリー内のすべての配列を削除し、参照の 1 つを追加したい。これが私のコードです。
public void onCheckedChanged(RadioGroup group, int checkedId) {
// TODO Auto-generated method stub
//check which id is selected
radioCheckedId= checkedId;
//radio button checked
switch(radioCheckedId){
case R.id.radBtnAccident:
//すべての配列を削除 if (pics.length>0){
for (int arr=0;arr<pics.length;arr++){
pics[arr]=null;
}
}
//populates array
pics = new Integer[]{ R.drawable.a, R.drawable.b, R.drawable.c, R.drawable.d,
R.drawable.e,R.drawable.exit, R.drawable.plan, R.drawable.icon, R.drawable.plan };
chooseImgArray(pics);
break;
case R.id.radBtnOthers:
//populates other array
pics = new Integer[]{R.drawable.exit, R.drawable.plan,
R.drawable.icon、R.drawable.plan、R.drawable.c };
chooseImgArray(pics);
break;
default:
break;
}
}
public void chooseImgArray(final Integer[] array){
iSwitcher = (ImageSwitcher) findViewById(R.id.ImgSwith);
iSwitcher.setFactory(this);
iSwitcher.setInAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_in));
iSwitcher.setOutAnimation(AnimationUtils.loadAnimation(this,android.R.anim.fade_out));
gallery = (Gallery) findViewById(R.id.galImage);
gallery.setAdapter(new ImageAdapter(this));
gallery.setOnItemClickListener(new OnItemClickListener() {
public void onItemClick(AdapterView<?> arg0, View arg1, int count,long arg3) {
iSwitcher.setImageResource(array[count]);
}
});
}