Android为要启用的按钮选择一个图像

Android为要启用的按钮选择一个图像,android,button,bitmap,Android,Button,Bitmap,我有一个按钮,我希望它只在用户选择了一个图像时启用 我编写了此代码,但不起作用:( 请帮帮我 用户可以从图库中选择一幅图像,或者捕获一幅图像。如果相关的话 更新:: 这是我的相机和画廊代码 btnGallery.setOnClickListener(new View.OnClickListener() { public void onClick(View v) { Intent i = new Intent(

我有一个按钮,我希望它只在用户选择了一个图像时启用 我编写了此代码,但不起作用:(

请帮帮我

用户可以从图库中选择一幅图像,或者捕获一幅图像。如果相关的话

更新::

这是我的相机和画廊代码

    btnGallery.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            Intent i = new Intent(
                    Intent.ACTION_PICK,
            android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);
            startActivityForResult(i, RESULT_LOAD_IMAGE);
            btnNext.setEnabled(true);
        }
    });

    btnCamera.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {

            Intent intent = new Intent("android.media.action.IMAGE_CAPTURE");
            startActivityForResult(intent, RESULT_LOAD_IMAGE);
            btnNext.setEnabled(true);
        }
    });
这是下一个按钮代码

    btnNext.setEnabled(false);
    btnNext.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {      
            MpClick.start();
            if (btnNext.isEnabled() == false)
            { 
                   Toast.makeText(StartActivity.this,
                            "Please get an image first.", Toast.LENGTH_LONG)
                            .show();
            }
            else
            {
                Intent next = new Intent(StartActivity.this, Option.class);
                startActivity(next);
            }
        }
        });
}
有时它会带你去选项活动,有时它不会,消息永远不会显示。。 我希望当你点击下一步按钮,而你没有选择图像时,信息会显示出来


但是,如果您选择一个图像,它将带您进入选项活动

这里有一些问题:

 btnNext.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {               
            if (!btnNext.isEnabled())
            { 
                   Toast.makeText(StartActivity.this,
                            "Please get an image first.", Toast.LENGTH_LONG)
                            .show();
            }
            else
            {
                Intent next = new Intent(Main.this, Editing.class);
                startActivity(next);
            }
        }
      });
  • 您正在关闭带有
    …的
    if
    语句,请不要这样做
  • 您正在检查
    setEnabled
    ,而不是
    isEnabled
  • 您没有用
    ()
    来包围您的条件
  • 如果,则不需要检查
    else,因为只检查第一个条件的相反项。
    else
    在这里就可以了
  • 您应该改为使用:

        btnNext.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {               
            if (btnNext.isEnabled() == false)
            { 
                   Toast.makeText(StartActivity.this,
                            "Please get an image first.", Toast.LENGTH_LONG)
                            .show();
            }
            else
            {
                Intent next = new Intent(Main.this, Editing.class);
                startActivity(next);
            }
        }
    

    这里有几个问题:

  • 您正在关闭带有
    …的
    if
    语句,请不要这样做
  • 您正在检查
    setEnabled
    ,而不是
    isEnabled
  • 您没有用
    ()
    来包围您的条件
  • 如果,则不需要检查
    else,因为只检查第一个条件的相反项。
    else
    在这里就可以了
  • 您应该改为使用:

        btnNext.setOnClickListener(new View.OnClickListener() {
        public void onClick(View v) {               
            if (btnNext.isEnabled() == false)
            { 
                   Toast.makeText(StartActivity.this,
                            "Please get an image first.", Toast.LENGTH_LONG)
                            .show();
            }
            else
            {
                Intent next = new Intent(Main.this, Editing.class);
                startActivity(next);
            }
        }
    
    使用if(btnNext.setEnabled(false))代替ifbtnNext.setEnabled(false);

    如果btnNext.setEnabled(true),则使用else if(btnNext.setEnabled(true))而不是else;如果btnNext.setEnabled(true),则使用if(btnNext.setEnabled(false))而不是btnNext.setEnabled(false);


    如果btnNext.setEnabled(true),则使用else if(btnNext.setEnabled(true))而不是else

    它不起作用,它以任何方式将您带到编辑活动,并且不显示toast消息它不起作用,它以任何方式将您带到编辑活动,并且不显示toast消息我猜消息从未显示的原因是,如果未启用
    按钮,则不会调用
    onClick
    如果你一定要显示消息,你就必须使用
    ontouch Listener
    或类似的工具。我这样做了,现在文本出现了,它并没有按照我的要求显示你,但是当你选择图像时,它仍然只显示你需要选择图像的文本,而不显示uThen,
    按钮似乎从未启用。你可以在中看到它应用程序--当你点击“照相机”或“多媒体资料”按钮时,“下一步”
    按钮是否会发生美观的变化?你可能应该为此开始一个新问题(再次使用相关代码)。通过注释调试和共享代码基本上是不可能的。我猜消息从未显示的原因是,如果未启用
    按钮,则不会调用
    onClick
    。如果您必须显示消息,则必须使用
    OnTouchListener
    或类似工具。我确实显示了,现在文本出现了,我不要按照我的意愿接受你,但当你选择一幅图像时,它仍然会显示你需要选择图像的文本,它不会接受你,因为它似乎从来没有启用过
    按钮。你可以在应用程序中看到它--“下一步”
    按钮在你点击“相机”或“多媒体资料”时是否会发生美观的变化按钮?您可能应该为此开始一个新的问题(同样使用相关的代码)。通过注释调试和共享代码基本上是不可能的。