在我的
Android应用程序中,可绘制的文件夹中有许多图像.在我的布局中有两个按钮:“后退”和“下一个”按钮.点击下一个和后退按钮2个不同的图像被加载到相同的布局(所有图像共同).
问题:我可以在下一个/后退按钮的点击上加载图像,但是到达最后一个图像后,我想让我的下一个按钮禁用并且相同的后退按钮.由于用户在第一个图像上,后退按钮应该被禁用.代码如下:
public class SequencerActivity extends Activity implements OnClickListener { private int imageCounter = 0; private ImageView imageLoader; private int[] imageList = {R.drawable.image_wo_lbl_0,R.drawable.image_wo_lbl_1,R.drawable.image_wo_lbl_2,R.drawable.image_wo_lbl_3,R.drawable.image_wo_lbl_4,R.drawable.image_wo_lbl_5,R.drawable.image_wo_lbl_6,R.drawable.image_wo_lbl_8,R.drawable.image_wo_lbl_9,R.drawable.image_wo_lbl_10,R.drawable.image_wo_lbl_11}; @Override public void onCreate(Bundle savedInstanceState) { setContentView(R.layout.parent_frame);//this one is the common parent layout for all image views super.onCreate(savedInstanceState); /*requestWindowFeature(Window.FEATURE_NO_TITLE); getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,WindowManager.LayoutParams.FLAG_FULLSCREEN);*/ //int image1 = R.drawable.image_w_lbl_0; imageLoader = (ImageView) findViewById(R.id.imageLoader); //imageLoader.setImageResource(image1); ImageButton next = (ImageButton) findViewById(R.id.next); ImageButton back = (ImageButton) findViewById(R.id.back); next.setOnClickListener(this); back.setOnClickListener(this); //show the default image this.loadImage(imageList[imageCounter]); } @Override public void onClick(View v) { int imagePath = 0; // TODO Auto-generated method stub switch (v.getId()) { case R.id.next: Log.i("Tag","tag"); if(imageCounter < imageList.length) { imageCounter++; imagePath = imageList[imageCounter]; if (imageCounter==(imageList.length)-1) { //how to make my next button disable } } break; case R.id.back: if(imageCounter > 0) { imageCounter--; imagePath = imageList[imageCounter]; if (imageCounter==0) { //how to make my back button disable } } break; } this.loadImage(imagePath); } private void loadImage(int imagePath) { imageLoader.setImageResource(imagePath); } }
解决方法
case R.id.next: Log.i("Tag","tag"); if(imageCounter < imageList.length) { imageCounter++; imagePath = imageList[imageCounter]; if (imageCounter==(imageList.length)-1) { ImageButton next=(ImageButton)findViewBYId(R.id.next); next.setEnabled(false); } } break; case R.id.back: if(imageCounter > 0) { imageCounter--; imagePath = imageList[imageCounter]; if (imageCounter==0) { ImageButton back=(ImageButton)findViewBYId(r.id.back); back.setEnabled(false); } } break;