0

我想发送一条包含我的内容的阻止消息。我尝试了 AlertDialog 功能。问题是消息“再见”出现在“你好”之前。应该有比我更简单的解决方案。有任何想法吗?

package com.example.a00;

import android.os.Bundle;
import android.app.Activity;
import android.app.AlertDialog;
import android.content.DialogInterface;
//import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.Toast;

public class MainActivity extends Activity implements OnClickListener {
    private static final int VISIBLE = 0;
    private static final int INVISIBLE = 4;
    private static final int GONE = 8;
    private String logval = null;

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

        Button btnAlert = new Button(this);
        //btnAlert = (Button) findViewById(R.id.btnAlert);
        btnAlert.setOnClickListener(this);
        btnAlert.setVisibility(GONE);  // VISIBLE, INVISIBLE or GONE
        //
        logval = "hello";
        btnAlert.performClick();   // should be displayed first
        //
            // continue processing
            //
        logval = "good bye";        // should be displayed last 
        btnAlert.performClick();
    }

    public void onClick(View v) {
        AlertDialog alertDialog1 = new AlertDialog.Builder(
                MainActivity.this).create();
        alertDialog1.setTitle("Titre");
        //alertDialog1.setMessage("message");
        alertDialog1.setMessage(logval);
        alertDialog1.setButton("OK", new DialogInterface.OnClickListener(){
            public void onClick(DialogInterface dialog, int which) {
                Toast.makeText(getApplicationContext(),
                        "Toast ...", Toast.LENGTH_SHORT).show();
            }
        });
        alertDialog1.show();
    }

}
4

1 回答 1

0

我认为会发生什么是第一个hello对话框打开,然后在它上面good bye打开。dialog on the very top and then after it is closed, then the user sees the所以最终用户会看到首先打开的“Good Bye hello”对话框。

方式一:

一个简单的选项是打开hello. 然后在里面onClick打开另一个对话框good bye。这会做的是,只有当用户单击第一个对话框或任何其他按钮时,才会打开ok第二个对话框。good bye所以简而言之,尝试从另一个对话框中打开一个对话框onClick。看到Android在另一个警报对话框之后显示另一个对话框警报对话框吗?第一个不见了!安卓

方式2:另一种是简单地颠倒他们两个的位置:

logval = "good bye";
btnAlert.performClick();  
....
logval = "hello";
btnAlert.performClick();

所以Good bye会先打开,但hello会立即在它上面打开。希望这可以帮助。

于 2013-08-18T09:14:20.793 回答