小编Geo*_*rge的帖子

如何使用AlertDialog的返回值

在大多数情况下,我需要用户多次做出选择.(我做了一些事情并为用户做了一个消息框做出选择并继续做其他事情(可能称为块))所以我写了一个共同的功能

public static void ShowMsgDialog(Context self,String title, String msg)
Run Code Online (Sandbox Code Playgroud)

虽然它正确响应用户的操作,但总是挂起(这意味着当我单击按钮时,前一个操作的值可以通过全局变量的值看到)是否存在任何可以获取消息框的返回值的函数并像这样使用它:

int ret = ShowMsgDialog(Context self,String title, String msg);
Run Code Online (Sandbox Code Playgroud)

以下是我的代码:

public class MainActivity extends Activity {
    private Button button1;
    enum Answer { YES, NO, ERROR};
    static Answer choice;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);     
        button1 = (Button)findViewById(R.id.button1);

        button1.setOnClickListener(new OnClickListener() {          
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                ShowMsgDialog(MainActivity.this, "Information", "you choice? "); 
                if(choice == Answer.YES)
                    Toast.makeText(MainActivity.this, "YOU CHOICED YES", Toast.LENGTH_LONG).show();
                else if (choice == Answer.NO) …
Run Code Online (Sandbox Code Playgroud)

android synchronization

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

synchronization ×1