如果在对话框上按下按钮,如何启动活动

Posted

技术标签:

【中文标题】如果在对话框上按下按钮,如何启动活动【英文标题】:How to start an activity if a button pressed on dialog box 【发布时间】:2016-05-23 09:30:43 【问题描述】:

我使用下面的代码来显示一个对话框,如果单击肯定按钮,我会尝试转到主页。但似乎 IDE 无法解析 startActivity 方法。在onClick 事件中启动活动的正确方法是什么?

 new AlertDialog.Builder(context).setTitle("Blocked!")
                .setMessage("This application is restricted by administrator")
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() 
                    public void onClick(DialogInterface dialog, int which) 

                        Intent startHomescreen=new Intent(Intent.ACTION_MAIN);
                        startHomescreen.addCategory(Intent.CATEGORY_HOME);
                        startHomescreen.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TASK);
                        startActivity(startHomescreen);
                    
                )       .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() 
                    public void onClick(DialogInterface dialog, int which) 
                        // do nothing
                    
                )
                .setIcon(android.R.drawable.ic_dialog_alert)
                .show();

【问题讨论】:

使用 context.startActivity() 【参考方案1】:

context.startActivity(startHomescreen);

参考其他一些帖子

    Android: How to start an Activity from an alert dialog

【讨论】:

【参考方案2】:
context.startActivity(startHomescreen);

我的朋友,它会起作用的!

【讨论】:

以上是关于如果在对话框上按下按钮,如何启动活动的主要内容,如果未能解决你的问题,请参考以下文章

在片段活动中显示自定义对话框

退出活动而不关闭对话框

在操作栏上按“向上导航按钮”并返回到父活动时出错

onBackPressed() 覆盖

回到另一个活动中的活动中已打开的对话框

在锁定屏幕上按主页按钮启动家庭更换应用程序