0
public void onClick(View v) {

            if(a){


Intent i = new Intent();
if(type.equals("x")){
showErrorAlert("string");

                    i = new Intent(Activity1.this, Activity2.class);
                    i.putExtra("label", var);
                    i.putExtra("label1", var2);
                    startActivity(i);
                }
                else if(type.equals("y")){
                    i = new Intent(Activity1.this, Activity3.class);
                    i.putExtra("label2", var3);
                }

                //startActivity(i);
            }

            else startActivity(new Intent(Activity1.this, Activity4.class));
        }
    });

private void showErrorAlert(String errorMsg){           
    AlertDialog errorDialog = new AlertDialog.Builder(this).create();
    errorDialog.setTitle("title");
    errorDialog.setMessage(errorMsg);
    errorDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "Okay", new  DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

        }
    });

    errorDialog.show();
}

したがって、エラーアラートが表示されますが、すぐに閉じて次のアクティビティが表示されます。「OK」を選択するまでアクティビティを開始したくない。

4

3 に答える 3

0

startActivity(i);必要に応じて、両方のブロックがあれば(または)他の(または)内側に移動します。

于 2012-11-28T21:29:06.443 に答える
0

これを試して

public void onClick(View v) {

            if(a){
                Intent i = new Intent();
                if(type.equals("x")){
                 showErrorAlert("string");

               }
                else if(type.equals("y")){
                    i = new Intent(Activity1.this, Activity3.class);
                    i.putExtra("label2", var3);
                }

                //startActivity(i);
            }

            else startActivity(new Intent(Activity1.this, Activity4.class));
        }
    });

private void showErrorAlert(String errorMsg){           
    AlertDialog errorDialog = new AlertDialog.Builder(this).create();
    errorDialog.setTitle("title");
    errorDialog.setMessage(errorMsg);
    errorDialog.setButton(AlertDialog.BUTTON_NEUTRAL, "Okay", new  DialogInterface.OnClickListener() {

        @Override
        public void onClick(DialogInterface dialog, int which) {
            // TODO Auto-generated method stub

             Intent i = new Intent(Activity1.this, Activity2.class);
                    i.putExtra("label", var);
                    i.putExtra("label1", var2);
                    startActivity(i);
        }
    });

    errorDialog.show();
}
于 2012-11-29T06:13:15.337 に答える