0

ボタンのテキストを取得できないため、アラート ダイアログ メッセージが表示されません。その後、プログラムは直接 my に移動しますEventActivity。どうすればこの問題を解決できますか?

public void onClick(View v) {
        // TODO Auto-generated method stub
        if (v.getId() == insertButton.getId()) {

            if(colorButton.getText().toString().equals("Color")){
                colorAlert.show();
            }
        }
}

これは変数です

AlertDialog colorAlert;

の AlertDialogOnCreate()

AlertDialog.Builder CA = new AlertDialog.Builder(this);
        CA.setTitle("Alert Message!");
        CA.setMessage("Please insert the level of important for the event.");
        CA.setPositiveButton("OK", new DialogInterface.OnClickListener() {

            @Override
            public void onClick(DialogInterface dialog, int which) {
                // TODO Auto-generated method stub
                colorAlert.dismiss();
                startActivity(new Intent(this, EventActivity.class));
            }
        });
        colorAlert = CA.create();
4

3 に答える 3

0

wtsang02 の回答に追加すると、alert.show をこのようにしばらく置くべきではありません...無限ループが発生するのがわかります;)

于 2013-04-26T16:29:24.230 に答える
0

わかりました、もっと助けが必要なようです。ここに 1 つの解決策があります... EventActivity を処理させてください ;)

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
import android.content.Context;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.*;


public class MainActivity extends Activity {

    final Context context=this;
    public static String EXTRA_MESSAGE;
    Button colorButton;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main_test);

        colorButton = (Button) findViewById(R.id.button1);

        colorButton.setOnClickListener(new View.OnClickListener() {

            @Override
            public void onClick(View v) {


                if(colorButton.getText().toString().equals("Color")){


                    AlertDialog.Builder alertBuilder = new AlertDialog.Builder(context);
                    alertBuilder.setMessage("myDialog").setCancelable(false).setPositiveButton("yes", new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                            Intent intent = new Intent(MainActivity.this, EventActivity.class);
                            String message = colorButton.getText().toString();
                            intent.putExtra(EXTRA_MESSAGE, message);
                            startActivity(intent);
                            }
                    }).setNegativeButton("cancel", new DialogInterface.OnClickListener(){
                        public void onClick(DialogInterface dialog, int which) {
                            dialog.cancel();
                            }
                    });

                    AlertDialog myAlert = alertBuilder.create();
                    myAlert.show();

                }   

            }
        });


    }
于 2013-04-26T19:24:58.353 に答える