0

我的警报对话框消息没有出现,因为我无法获取按钮的文本。之后程序将直接转到我的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;

警报对话框中的OnCreate()

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

3

在 Java 中比较字符串时,请使用YOUR_STRING.equals("Color");

更新:将您的更改whileif,因为您正在运行一次。

移动你的

startActivity(new Intent(this, EventActivity.class));

在您的警报框正面按钮处理程序中。

比较Java中的字符串。

于 2013-04-26T16:20:50.260 回答
0

添加到 wtsang02 答案中,您不应该像这样将 alert.show 放在一段时间内...我看到无限循环即将到来;)

于 2013-04-26T16:29:24.230 回答
0

好的,看起来您需要更多帮助,这是一种解决方案...我让您处理 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 回答