在大多数情况下,我需要用户进行选择,很多倍。(我做的东西和提高消息框为用户作出的选择,继续做其他的事(也许称为块))所以我写了一个常见的函数
public static void ShowMsgDialog(Context self,String title, String msg)
虽然它正确地响应用户的操作,但始终挂起(的手段同时单击按钮前,一个操作值都是可见的全局变量的值)是存在着可能还在消息框中的任何函数返回值并使用它像这样:
int ret= ShowMsgDialog(Context self,String title, String msg);
public class MainActivity extends Activity{
enum Answer{ YES, NO, ERROR};
protected void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
button1=(Button)findViewById(R.id.button1);
button1.setOnClickListener(new OnClickListener(){
// TODO Auto-generated method stub
ShowMsgDialog(MainActivity.this,"Information","you choice?");
Toast.makeText(MainActivity.this,"YOU CHOICED YES", Toast.LENGTH_LONG).show();
Toast.makeText(MainActivity.this,"YOU CHOICED NO", Toast.LENGTH_LONG).show();
Toast.makeText(MainActivity.this,"ERROR OCUS", Toast.LENGTH_LONG).show();
//int ret= ShowMsgDialog(MainActivity.this,"Information","you choice?");
public static void ShowMsgDialog(Context self,String title, String Msg){
AlertDialog.Builder dlgAlert= new AlertDialog.Builder(self);
dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int whichButton){
dlgAlert.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
// TODO Auto-generated method stub
我不认为有任何方式要从这样的 alertDialog中获取值
int ret= ShowMsgDialog(Context self,String title, String msg);
因为的时候您将显示对话框按钮的 onClick()将会已经完成。
所以我建议使用另一种实现的方法。
因为要创建 alertDialog的方法里面有您的活动它是创建一个函数在您的活动像下面一样容易:
public void userChoosed(String choise){
Toast.makeText(MainActivity.this,"YOU CHOICED YES", Toast.LENGTH_LONG).show();
Toast.makeText(MainActivity.this,"YOU CHOICED NO", Toast.LENGTH_LONG).show();
dlgAlert.setPositiveButton("OK",new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int whichButton){
dlgAlert.setNegativeButton("Cancel", new DialogInterface.OnClickListener(){
public void onClick(DialogInterface dialog, int which){
__(∩_∩)AlertDialog是Dialog的一个直接子类,AlertDialog也是Android系统当中最常用的对话框之一。一个AlertDialog可以有两个Button或者三个Button,可以对一个AlertDialog设置title和message。不能直接通过AlertDialog的构造函数来生产一个AlertDialog。而AlertDialog.builder是AlertDialog的内部静态函数,一般生成AlertDialog的时候是通过AlertDialog.builder来构造的。__(∩_∩)AlertDialog是Dialog的一个直接子类,AlertDialog也是Android系统当中最常用的对话框之一。一个AlertDialog可以有两个Button或者三个Button,可以对一个AlertDialog设置title和message。不能直接通过AlertDialog的构造函数来生产一个AlertDialog。而AlertDialog.builder是AlertDialog的内部静态函数,一般生成AlertDialog的时候是通过AlertDialog.builder来构造的。
本文来自投稿,不代表本站立场,如若转载,请注明出处:https://www.56xzw.com/showinfo-1-2935-0.html