【问题标题】:intent in alart dialog [closed]警报对话框中的意图[关闭]
【发布时间】:2017-08-18 08:44:03
【问题描述】:

警报对话框中的意图如何传递下一个意图

alertDialogBuilder
                    .setCancelable(false)
                    .setPositiveButton("Ok",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    String title = editTextTitle.getText().toString().trim();
                                  String  r=android.get(i).getPassword();

                                    if(title.equals(r)){

                                        view.getContext().startActivity(new Intent(activity,DetailView.class));
                                                Toast.makeText(view.getContext()," user name   " , Toast.LENGTH_LONG).show();
                                            }
                                    else {
                                                Toast.makeText(view.getContext()," user name not valid  " , Toast.LENGTH_LONG).show();
                                            }



                                   // sendMessage(user.getId(), title, message);
                                }
                            })
                    .setNegativeButton("Cancel",
                            new DialogInterface.OnClickListener() {
                                public void onClick(DialogInterface dialog, int id) {
                                    dialog.cancel();
                                }
                            });
            AlertDialog alertDialog = alertDialogBuilder.create();
            alertDialog.show();

        }
    });
}

【问题讨论】:

  • 请正确格式化您的代码并仅发布相关部分

标签: java android android-intent


【解决方案1】:

您需要使用活动或上下文,例如,请参考下面的代码

AlertDialog.Builder alertDialogBuilder = new AlertDialog.Builder(activity)
                .setCancelable(false)
                .setPositiveButton("Ok", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {

                activity.startActivity(new Intent(activity, DetailView.class));
            }
        }).setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                dialog.cancel();
            }
        });
        AlertDialog alertDialog = alertDialogBuilder.create();
        alertDialog.show();

您可以从承包商那里获得活动或上下文。

【讨论】:

    【解决方案2】:

    更改这部分代码:

    view.getContext().startActivity(new Intent(activity,DetailView.class));
    

    到这里:

    Intent intent = new Intent(FirstActivity.this,Screen2Activity.class);
    startActivity(intent);
    

    完整代码:

     alertDialogBuilder
                            .setCancelable(false)
                            .setPositiveButton("Ok",
                                    new DialogInterface.OnClickListener() {
                                        public void onClick(DialogInterface dialog, int id) {
                                            String title = editTextTitle.getText().toString().trim();
                                          String  r=android.get(i).getPassword();
    
                                            if(title.equals(r)){
    
                                               Intent intent = new Intent(FirstActivityName.this,Screen2ActivityName.class);
    
            startActivity(intent);  
            Toast.makeText(view.getContext()," user name   " , Toast.LENGTH_LONG).show();
                                                    }
                                            else {
                                                        Toast.makeText(view.getContext()," user name not valid  " , Toast.LENGTH_LONG).show();
                                                    }
    
    
    
                                           // sendMessage(user.getId(), title, message);
                                        }
                                    })
                            .setNegativeButton("Cancel",
                                    new DialogInterface.OnClickListener() {
                                        public void onClick(DialogInterface dialog, int id) {
                                            dialog.cancel();
                                        }
                                    });
                    AlertDialog alertDialog = alertDialogBuilder.create();
                    alertDialog.show();
    
                }
            });
        }
    

    【讨论】:

    • startActivity() 可以直接调用吗?根据你的回答,我觉得不可能
    • 兄弟它正在处理我的应用程序
    • 我在 15 到 17 应用程序中使用这种类型的警报对话框
    • 我认为您在活动中使用警报对话框,但如果您想在活动之外使用,则需要传递上下文。
    • 是的,兄弟。根据这个问题,不要在活动或片段中指定警报对话框
    猜你喜欢
    • 2018-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-08
    • 2018-07-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多