Java Android-Toast

Java Android-Toast,java,android,android-toast,Java,Android,Android Toast,我有一组图像视图。单击这些图像视图后,可以选择它们。其笔划属性从0(未选定)和4(选定)更改。现在我有两个按钮,“ClearAll”和“Back”。如果单击“上一步”按钮,所有选定的ImageViews描述都将显示在Toast消息中(例如,“您选择了iv1、iv2、iv3”)。“ClearAll”按钮的作用是清除选择-比如我单击了ImageView 1、2和3-如果我单击“ClearAll”,它们的笔划将返回0(表示每个选择都已清除)。但我有一个问题,假设我点击了ImageView 1、2和3,

我有一组图像视图。单击这些图像视图后,可以选择它们。其笔划属性从0(未选定)和4(选定)更改。现在我有两个按钮,“ClearAll”和“Back”。如果单击“上一步”按钮,所有选定的ImageViews描述都将显示在Toast消息中(例如,“您选择了iv1、iv2、iv3”)。“ClearAll”按钮的作用是清除选择-比如我单击了ImageView 1、2和3-如果我单击“ClearAll”,它们的笔划将返回0(表示每个选择都已清除)。但我有一个问题,假设我点击了ImageView 1、2和3,然后我的思维发生了变化,我想点击ImageView 4、5、6,然后点击“后退”。Toast消息显示了我也清除了的那些ImageView的描述,输出是这样的,“您选择了iv1、iv2、iv3、iv4、iv5、iv6。我如何修复代码,使那些被“ClearAll”清除的代码不会显示在Toast中

这是上述每种方法的代码片段

图像视图:

for (int i = 0 ; i < color.length ; i++) {
        color[i] = (ImageView) findViewById (ivCirclesId[i]);
        final GradientDrawable ivCircleOnClick = (GradientDrawable) color[i].getBackground ();
        color[i].setTag ("0");
        color[i].setOnClickListener (new OnClickListener() {

            public void onClick (View v) {
                if (v.getTag ().toString ().equals ("1")) {
                    --ctr;
                    v.setTag ("0");
                    ivCircleOnClick.setStroke (0, Color.WHITE);
                } else {
                    if(ctr >= 8) {
                        Toast.makeText (getApplicationContext (), "Limit reached!", Toast.LENGTH_SHORT).show ();
                        return;
                    }
                    ++ctr;
                    v.setTag ("1");
                    ivCircleOnClick.setStroke (4, Color.WHITE);
                    message = message + "#" + v.getContentDescription ();
                    return;
                }
            }
        });

当您仅取消选择一个imageview时,此功能也会起作用。希望这对您有所帮助

图像视图:

for (int i = 0 ; i < color.length ; i++) {
    color[i] = (ImageView) findViewById (ivCirclesId[i]);
    final GradientDrawable ivCircleOnClick = (GradientDrawable) color[i].getBackground ();
    color[i].setTag ("0");
    color[i].setOnClickListener (new OnClickListener() {

        public void onClick (View v) {
            if (v.getTag ().toString ().equals ("1")) {
                --ctr;
                v.setTag ("0");
                ivCircleOnClick.setStroke (0, Color.WHITE);
            } else {
                if(ctr >= 8) {
                    Toast.makeText (getApplicationContext (), "Limit reached!", Toast.LENGTH_SHORT).show ();
                    return;
                }
                ++ctr;
                v.setTag ("1");
                ivCircleOnClick.setStroke (4, Color.WHITE);
                //message = message + "#" + v.getContentDescription ();
                return;
            }
        }
    });
for(int i=0;i=8){
Toast.makeText(getApplicationContext(),“已达到限制!”,Toast.LENGTH\u SHORT.show();
返回;
}
++ctr;
v、 setTag(“1”);
ivCircleOnClick.setStroke(4,颜色.白色);
//message=message+“#”+v.getContentDescription();
返回;
}
}
});
ClearAll:

Button btnClear = (Button) findViewById (R.id.btnClearAll);
    btnClear.setOnClickListener (new OnClickListener () {

        @Override
        public void onClick (View v) {
            for (int i = 0 ; i < color.length; i++) {
                final GradientDrawable ivCircleOnClick = (GradientDrawable) color[i].getBackground ();
                ivCircleOnClick.setStroke (0, Color.WHITE);
                color[i].setTag ("0");
                ctr = 0;
            }
        }
    });
Button btnClear = (Button) findViewById (R.id.btnClearAll);
btnClear.setOnClickListener (new OnClickListener () {

    @Override
    public void onClick (View v) {
        for (int i = 0 ; i < color.length; i++) {
            final GradientDrawable ivCircleOnClick = (GradientDrawable) color[i].getBackground ();
            ivCircleOnClick.setStroke (0, Color.WHITE);
            color[i].setTag ("0");
            ctr = 0;
            message = "";
        }
    }
});
Button btnClear=(Button)findviewbyd(R.id.btnclearl);
btnClear.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
for(int i=0;i
背面:

按钮btnBack=(按钮)findviewbyd(R.id.btnBack);
btnBack.setOnClickListener(新的OnClickListener(){
@凌驾
公共void onClick(视图v){
message=“”;
for(int i=0;i=1){
Toast.makeText(Filter.this、message、Toast.LENGTH_SHORT).show();
message=“”;
} 
//完成();
}
});

效果很好!但我没有对“上一步”按钮上的finish();进行注释,因为我想在单击后返回到主要活动,并在那里显示祝酒词。谢谢,真的很有帮助!
Button btnClear = (Button) findViewById (R.id.btnClearAll);
btnClear.setOnClickListener (new OnClickListener () {

    @Override
    public void onClick (View v) {
        for (int i = 0 ; i < color.length; i++) {
            final GradientDrawable ivCircleOnClick = (GradientDrawable) color[i].getBackground ();
            ivCircleOnClick.setStroke (0, Color.WHITE);
            color[i].setTag ("0");
            ctr = 0;
            message = "";
        }
    }
});
Button btnBack = (Button) findViewById (R.id.btnBack);
btnBack.setOnClickListener (new OnClickListener () {

    @Override
    public void onClick (View v) {
        message = "";
        for(int i = 0 ; i < color.length ; i++){
             if(color[i].getTag().toString().equals("1")){
                  message = message + "#" + color[i].getContentDescription();
             }
        }
        if (ctr >= 1) {
            Toast.makeText (Filter.this, message, Toast.LENGTH_SHORT).show();
            message = "";
        } 
        //finish();
    }
});