showDialog deprecated. What's the alternative?

前端 未结 5 1827
猫巷女王i
猫巷女王i 2020-12-12 15:17

Is there something else that should be called?

showDialog(TIME_DIALOG_ID);

It\'s in this tutorial but says deprecated in Eclipse.<

5条回答
  •  佛祖请我去吃肉
    2020-12-12 15:51

    To display dialog box, you can use the following code. This is to display a simple AlertDialog box with multiple check boxes:

    AlertDialog.Builder alertDialog= new AlertDialog.Builder(MainActivity.this); .
                alertDialog.setTitle("this is a dialog box ");
                alertDialog.setPositiveButton("ok", new DialogInterface.OnClickListener() {
    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                        Toast.makeText(getBaseContext(),"ok ive wrote this 'ok' here" ,Toast.LENGTH_SHORT).show();
    
                    }
                });
                alertDialog.setNegativeButton("cancel", new DialogInterface.OnClickListener() {
    
                    @Override
                    public void onClick(DialogInterface dialog, int which) {
                        // TODO Auto-generated method stub
                            Toast.makeText(getBaseContext(), "cancel ' comment same as ok'", Toast.LENGTH_SHORT).show();
    
    
                    }
                });
                alertDialog.setMultiChoiceItems(items, checkedItems, new DialogInterface.OnMultiChoiceClickListener() {
    
                    @Override
                    public void onClick(DialogInterface dialog, int which, boolean isChecked) {
                        // TODO Auto-generated method stub
                        Toast.makeText(getBaseContext(), items[which] +(isChecked?"clicked'again i've wrrten this click'":"unchecked"),Toast.LENGTH_SHORT).show();
    
                    }
                });
                alertDialog.show();
    

    Heading

    Whereas if you are using the showDialog function to display different dialog box or anything as per the arguments passed, you can create a self function and can call it under the onClickListener() function. Something like:

     public CharSequence[] items={"google","Apple","Kaye"};
    public boolean[] checkedItems=new boolean[items.length];
    Button bt;
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        bt=(Button) findViewById(R.id.bt);
        bt.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                display(0);             
            }       
        });
    }
    

    and add the code of dialog box given above in the function definition.

提交回复
热议问题