How can I set the order of the positive and negative buttons in AlertDialog?

后端 未结 8 1730
挽巷
挽巷 2021-02-05 06:05

Why I want to do this is another discussion entirely, but I need to figure out the best way to make all my alert dialogs have the positive button on the right side. Note that i

8条回答
  •  谎友^
    谎友^ (楼主)
    2021-02-05 06:45

    this is my solution. It is work for me.

        // Show alertDialog after building
        AlertDialog alertDialog = createAlertDialog(context);
        alertDialog.show();
        // and find positiveButton and negativeButton
        Button positiveButton = (Button) alertDialog.findViewById(android.R.id.button1);
        Button negativeButton = (Button) alertDialog.findViewById(android.R.id.button2);
        // then get their parent ViewGroup
        ViewGroup buttonPanelContainer = (ViewGroup) positiveButton.getParent();
        int positiveButtonIndex = buttonPanelContainer.indexOfChild(positiveButton);
        int negativeButtonIndex = buttonPanelContainer.indexOfChild(negativeButton);
        if (positiveButtonIndex < negativeButtonIndex) {
            // prepare exchange their index in ViewGroup
            buttonPanelContainer.removeView(positiveButton);
            buttonPanelContainer.removeView(negativeButton);
            buttonPanelContainer.addView(negativeButton, positiveButtonIndex);
            buttonPanelContainer.addView(positiveButton, negativeButtonIndex);
        }
    

提交回复
热议问题