ボタンのクリックを無効にするにはどうすればいいですか? 質問する

ボタンのクリックを無効にするにはどうすればいいですか? 質問する

私の Android アプリケーションでは、drawable フォルダーに多数の画像があります。レイアウトには、[戻る] ボタンと [次へ] ボタンの 2 つのボタンがあります。[次へ] ボタンと [戻る] ボタンをクリックすると、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);

        }
    }

ベストアンサー1

コトリン:

next.isClickable = false

ジャワ:

next.setClickable(false);

おすすめ記事