GVKun编程网logo

Android中activity定义的AlertDialog调用不弹出!(activity alert)

22

对于想了解Android中activity定义的AlertDialog调用不弹出!的读者,本文将是一篇不可错过的文章,我们将详细介绍activityalert,并且为您提供关于Activity的Ale

对于想了解Android中activity定义的AlertDialog调用不弹出!的读者,本文将是一篇不可错过的文章,我们将详细介绍activity alert,并且为您提供关于Activity的AlertDialog样式按钮、AlertDialog中的Android选项卡、Android Activity调用Dialog后的返回值方法、Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期的有价值信息。

本文目录一览:

Android中activity定义的AlertDialog调用不弹出!(activity alert)

Android中activity定义的AlertDialog调用不弹出!(activity alert)

问题原因:MainActivity中:定义的代码AlertDialog.Builder builder = new AlertDialog.Builder(MainActivity.getActiviy).里面获取的依赖activity不能这么获取,哪怕你设置了你的mainAcitivity=this.

解决方法:修改依赖为mainActivity,直接设置为当前activity的全局变量!注意:如果你是在其他自定义类中使用AlertDialog,那么使用MainActivity.getActiviy正常。

Activity的AlertDialog样式按钮

Activity的AlertDialog样式按钮

我有一个活动,其底部有一个“保存并取消”按钮。

在AlertDialog中,按钮显示在某种样式的容器视图内。

我怎样才能使“活动”中的按钮具有相同的外观?具体来说,如何在AlertDialog中应用按钮容器视图的样式,在包含按钮的Activity中说一个LinearLayout?

谢谢

AlertDialog中的Android选项卡

AlertDialog中的Android选项卡

我可以在AlertDialog中有选项卡吗?

我已经阅读了很多在线教程,并且通常将意图从一种活动转移到另一种活动中.但是,警报对话框都在单个活动中.

我想在一个警报对话框中有两个选项卡.

解决方法:

Can I have tabs in AlertDialog?

大概您可以在AlertDialog中使用TabHost和TabWidget,使用选项卡的视图.此示例显示活动中的“选项卡视图”:https://github.com/commonsguy/cw-omnibus/tree/master/WidgetCatalog/Tab在您的情况下,您将使用相同的布局,但使用LayoutInflater创建视图,然后将其与AlertDialog.Builder一起使用以创建对话框.

I’ve gone through a lot of online tutorials and they usually place the intent from one activity to another in the tabs.

这些教程现在已经过时了恕我直言.在选项卡中嵌入活动的整个技术已被弃用.

Android Activity调用Dialog后的返回值方法

Android Activity调用Dialog后的返回值方法

这个例子只是简单的返回一个String,而在实际需要时,可能需要在DIalog或非Activity(如ListView中的Adapter)中做复杂的操作后,返回值至主Activity。
    例如本人最近在做一个ListView中的Adapter包含按钮,在点击其中的按钮后需要刷新整个ListView,因此便需要以下方法传值。
    在Activity调用另一Activity时,可使用如下方法获得返回值:
    Intent sampleIntent = new Intent(this, NewActivity.class);
    startActivityForResult(sampleIntent , 1);
    但如果调用的是Dialog类,或其他非Activity类时,无法使用startActivityForResult()方法。
    此时,需使用另一种方法获得返回值。
    方法如下:
    假设:主Activity为MainActivity;被调用的Dialog类为SampleDialog。
    此时我们需定义一个接口类:
    interface MyListener{ 
        public void refreshActivity(String text);
    }
    在SampleDIalog的构造函数中传入MyListener:
    public MyListener (MyListener myListener){
       this.mMyListener = myListener;
    }
    并且在需要返回的地方调用refreshActivity()方法:
    mMyListener.refreshActivity();
    然后在MainActivity中实现MyListener接口,并在show Dialog时传入实现的myListener:
    private MyListener myListener = new MyListener(){
        @Override
        public void refreshActivity(String text){                                this.mTextView1.setText(text);
        }
    }
    new SampleDialog(myListener).show;
    这样便能从Dialog返回需要的数据.
    若有更好的方法,请留言指教。本人也是超级菜鸟,学习当中。

Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期

Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期

先给出结论:Dialog和AlertDialog并不会影响到Activity的生命周期,但会影响到Activity的优先级。

核心代码:

onCreated中:
        Resources resources = this.getResources();
        DisplayMetrics displayMetrics = resources.getDisplayMetrics();
        final int widthPixels = displayMetrics.widthPixels / 2;
        final int heightPixels = displayMetrics.heightPixels / 2;
        //1
        //Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期
        FloatingActionButton fab = (FloatingActionButton) findViewById(R.id.fab);
        fab.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
//                Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
//                        .setAction("Action", null).show();
                //test Dialog
//                EditText editText = new EditText(ScrollingActivity.this);
//                editText.setLayoutParams(new ViewGroup.LayoutParams(widthPixels, heightPixels));
//                Dialog dialog = new Dialog(ScrollingActivity.this);
//                dialog.setContentView(editText);
//                dialog.setTitle("标题");
//                dialog.setCanceledOnTouchOutside(false);
//                dialog.show();
                //test Dialog
                AlertDialog.Builder builder = new AlertDialog.Builder(ScrollingActivity.this);
                builder.setTitle("弹窗")
                        .setMessage("Msg")
                        .setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
                            @Override
                            public void onClick(DialogInterface dialog, int which) {
                                dialog.dismiss();
                            }
                        }).setPositiveButton("Yes", new DialogInterface.OnClickListener() {
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        dialog.dismiss();
                        ;
                    }
                }).setCancelable(false);
                builder.create().show();
            }
        });

In Activity:
 @Override
    protected void onStart() {
        super.onStart();
        System.out.println("ScrollingActivity.onStart");
    }

    @Override
    protected void onResume() {
        super.onResume();
        System.out.println("ScrollingActivity.onResume");
    }

    @Override
    protected void onPause() {
        super.onPause();
        System.out.println("ScrollingActivity.onPause");
    }

    @Override
    protected void onStop() {
        super.onStop();
        System.out.println("ScrollingActivity.onStop");
    }

有兴趣的同志可以新建个Activity体验一下。

今天关于Android中activity定义的AlertDialog调用不弹出!activity alert的讲解已经结束,谢谢您的阅读,如果想了解更多关于Activity的AlertDialog样式按钮、AlertDialog中的Android选项卡、Android Activity调用Dialog后的返回值方法、Android DevArt2:Android 5.0下 Dialog&AlertDialog 并不会影响Activity的生命周期的相关知识,请在本站搜索。

本文标签: