繁体   English   中英

如何制作只显示一次的底页对话框

[英]How to make Bottom Sheet Dialog that shows one time only

我想创建一个底页对话框。 看起来像下面的图像 在此处输入图像描述

public class MainActivity extends AppCompatActivity {


    //this is Button that open dialog
    private Button button;


    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        button = findViewById(R.id.nextBtn);
        button.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(
                        MainActivity.this, R.style.BottomSheetDialogTheme);
                View bottomSheetView = LayoutInflater.from(getApplicationContext())
                        .inflate(R.layout.layout_bottom_sheet, (LinearLayout) findViewById(R.id.bottomSheetContainer));
                bottomSheetDialog.setContentView(bottomSheetView);


                bottomSheetView.findViewById(R.id.doNotAgree).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        System.exit(0);
                    }
                });
                bottomSheetView.findViewById(R.id.agree).setOnClickListener(new View.OnClickListener() {
                    @Override
                    public void onClick(View v) {
                        startActivity(new Intent(MainActivity.this, Activity2.class));
                        finish();
                    }

                });
            }

        });
    }
}

我尝试了许多方法,例如 SharedPreferences。 但它不起作用

        SharedPreferences preference = getSharedPreferences("mPreference", MODE_PRIVATE);
    boolean isUserAgreed = preference.getBoolean("isUserAgreed", false);
    if (!isUserAgreed){
        // show bottomSheetDialog
    } else {
        startActivity(new Intent(MainActivity.this, Activity2.class));
        finish();
    }

    button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            BottomSheetDialog bottomSheetDialog = new BottomSheetDialog(
                    MainActivity.this, R.style.BottomSheetDialogTheme);
            View bottomSheetView = LayoutInflater.from(getApplicationContext())
                    .inflate(R.layout.layout_bottom_sheet, (LinearLayout) findViewById(R.id.bottomSheetContainer));
            bottomSheetDialog.setContentView(bottomSheetView);


            bottomSheetView.findViewById(R.id.doNotAgree).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    System.exit(0);
                }
            });
            bottomSheetView.findViewById(R.id.agree).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    SharedPreferences.Editor editor = getSharedPreferences("mPreference", MODE_PRIVATE).edit();
                    editor.putBoolean("isUserAgreed", true);
                    editor.apply();
                    startActivity(new Intent(MainActivity.this, Activity2.class));
                    finish();
                }

            });
        }

    });

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM