如何禁用按钮点击?按钮

2023-09-05 04:56:11 作者:我爱的人不能哭

在我的Andr​​oid应用程序,也有绘制文件夹中的图像数量。在我的布局有两个按钮:后退和前进按钮。单击[下一步和后退按钮2个不同的图像得到的相同的布局(适用于所有图像)加载。

问题:我能上下一首/后退按钮的点击,但在到达最后一个图像后,加载图像,我想让我的下一个按钮禁用和同为回button.As用户第一幅图像上的后退按钮应被禁用。 code是因为:

 公共类SequencerActivity扩展活动实现OnClickListener
    {
        私人诠释imageCounter = 0;
        私人ImageView的ImageLoader的;

        私人INT []图像列表= {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};
        @覆盖
        公共无效的onCreate(包savedInstanceState)
        {
            的setContentView(R.layout.parent_frame); //这个是所有图像视图的公用父布局
            super.onCreate(savedInstanceState);

            /*requestWindowFeature(Window.FEATURE_NO_TITLE);
            getWindow()。setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
            WindowManager.LayoutParams.FLAG_FULLSCREEN); * /

            // INT此搜索= R.drawable.image_w_lbl_0;

            ImageLoader的=(ImageView的)findViewById(R.id.imageLoader);
            //imageLoader.setImageResource(image1);

            接下来的ImageButton =(的ImageButton)findViewById(R.id.next);
            的ImageButton回=(的ImageButton)findViewById(R.id.back);
            next.setOnClickListener(本);
            back.setOnClickListener(本);
            //显示默认的图像
            this.loadImage(图像列表[imageCounter]);

        }
        @覆盖
        公共无效的onClick(视图v)
        {
            INT的ImagePath = 0;
            // TODO自动生成方法存根
            开关(v.getId())
            {
            案例R.id.next:
                Log.i(标记,标记);
                如果(imageCounter< imageList.length)
                {
                    imageCounter ++;
                    的ImagePath =图像列表[imageCounter]
                    如果(imageCounter ==(imageList.length)-1)
                    {
                        //如何使我的下一个按钮关闭

                    }
                }
                打破;
            案例R.id.back:
                如果(imageCounter大于0)
                {
                    imageCounter--;
                    的ImagePath =图像列表[imageCounter]
                    如果(imageCounter == 0)
                    {
                        //如何让我的背部按钮关闭
                    }
                }
                打破;
            }
            this.loadImage(的ImagePath);

        }

        私人无效的LoadImage(INT的ImagePath)
        {
            imageLoader.setImageResource(的ImagePath);

        }
    }
 

解决方案

 案例R.id.next:
        Log.i(标记,标记);
        如果(imageCounter< imageList.length)
        {
            imageCounter ++;
            的ImagePath =图像列表[imageCounter]
            如果(imageCounter ==(imageList.length)-1)
            {
                接下来的ImageButton =(的ImageButton)findViewBYId(R.id.next);
                next.setEnabled(假);
            }
        }
        打破;
    案例R.id.back:
        如果(imageCounter大于0)
        {
            imageCounter--;
            的ImagePath =图像列表[imageCounter]
            如果(imageCounter == 0)
            {
                的ImageButton回=(的ImageButton)findViewBYId(r.id.back);
                back.setEnabled(假);
            }
        }
        打破;
 
按钮的禁用状态

In my android application, there are number of images in drawable folder. In my layout there are two buttons: Back and Next buttons. On clicking next and back buttons 2 different images get loaded on the same layout(common for all images).

Problem:I am able to load images on Next/Back button's click but after reaching the last image, I want to make my Next button disable and same for the back button.As the user is on the first image the back button should be disabled. Code is as:

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;

 
精彩推荐
图片推荐