我有一个按钮,我希望仅在用户选择图像时启用它 我制作了这段代码,但它不起作用:(
Code updated
请帮助..
用户可以通过从图库中选择一个图像来获取图像,或者捕获一个图像......如果这是相关的
UPDATE ::
这些是我的相机和图库代码
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);
}
}
});
}
有时它会将你带到Option活动,有时它不会,并且消息永远不会显示.. 当你点击下一个按钮并且你没有选择图像时,我想要显示消息
但如果您选择一张图片,则会将您带到选项活动
答案 0 :(得分:2)
这里有一些问题:
if
关闭;
语句...请勿执行此操作。setEnabled
而不是isEnabled
。()
。else if
,因为您只检查第一个条件的反面。 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);
}
}
答案 1 :(得分:1)
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);
}
}
});
答案 2 :(得分:1)
使用 if(btnNext.setEnabled(false))而不是 btnNext.setEnabled(false);
并使用 else if(btnNext.setEnabled(true))而不是其他如果btnNext.setEnabled(true);