Открывайте нижний лист автоматически без использования кнопки - PullRequest
0 голосов
/ 16 апреля 2020

Я делаю этот проект, где хочу запустить приложение (основное действие) с нижним листом в качестве инструкции, чтобы знать, как использовать некоторые функции, в то время как основное действие открыто в фоновом режиме.

Я знал, как переходить с нижнего листа на другой, но моя главная проблема в том, что для первого нижнего листа нужна кнопка, которую он сам активирует, поэтому мой вопрос в том, можно ли сделать это автоматически при запуске приложения? без необходимости кнопки затем уволили после нажатия на кнопку внутри нижнего листа?

Это мой Java Код:

public class MainActivity extends AppCompatActivity {

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


    Button buttonShow = findViewById(R.id.button_start);
    buttonShow.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


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

                    final BottomSheetDialog bottomSheetDialog1 = new BottomSheetDialog(
                            MainActivity.this, R.style.BottomSheetDesign
                    );

                    View bottomSheetView1 = LayoutInflater.from(getApplicationContext())
                            .inflate(
                                    R.layout.layout_bottom_sheet1,
                                    (LinearLayout)findViewById(R.id.BottomSheetContainer1)

                            );

                    bottomSheetView1.findViewById(R.id.ButtonDone).setOnClickListener(new View.OnClickListener() {
                        @Override
                        public void onClick(View v) {

                            bottomSheetDialog1.dismiss();

                        }

                    });

                    bottomSheetDialog.dismiss();
                    bottomSheetDialog1.setContentView(bottomSheetView1);
                    bottomSheetDialog1.show();

                }
            });

            bottomSheetDialog.setContentView(bottomSheetView);
            bottomSheetDialog.show();

        }

    });

1 Ответ

1 голос
/ 18 апреля 2020

вызов нижнего листа непосредственно в создаваемом методе

Попробуйте этот код:

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

private void openBottomSheet() {

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

            final BottomSheetDialog bottomSheetDialog1 = new BottomSheetDialog(
                    MainActivity.this, R.style.BottomSheetDesign
            );

            View bottomSheetView1 = LayoutInflater.from(getApplicationContext())
                    .inflate(
                            R.layout.layout_bottom_sheet1,
                            (LinearLayout) findViewById(R.id.BottomSheetContainer1)

                    );

            bottomSheetView1.findViewById(R.id.ButtonDone).setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {

                    bottomSheetDialog1.dismiss();

                }

            });

            bottomSheetDialog.dismiss();
            bottomSheetDialog1.setContentView(bottomSheetView1);
            bottomSheetDialog1.show();

        }
    });

    bottomSheetDialog.setContentView(bottomSheetView);
    bottomSheetDialog.show();
}
...