Как управлять другой кнопкой, чтобы открыть фрагменты? - PullRequest
0 голосов
/ 24 мая 2018

У меня есть три кнопки: кнопка 1, кнопка 2 и кнопка подтверждения. Все эти кнопки работают одинаково.Концепция заключается в том, что, когда я нажимаю кнопку 1, а затем нажимаю кнопку подтверждения, открывается фрагмент 1.Точно так же, когда я нажимаю кнопку 2 и нажимаю кнопку подтверждения, фрагмент 2 открывается.Пожалуйста, помогите мне решить эту концепцию.

Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 24 мая 2018

Идея проста.

Глобальная переменная области действия int flag;

Пока вы нажимаете button1, установите флаг = 1.

, если вынажал botton2 make flag = 2.

Затем нажмите кнопку подтверждения, чтобы проверить значение флага.

Если флаг = 1, перейдите к фрагменту 1, иначе flagment2.

button1.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
           flag=1;
           }
        });
button2.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
           flag=2;
           }
        });

submitbutton.setOnClickListener(new OnClickListener() {
    @Override
    public void onClick(View v) {
           if(flag==1){
              //go to fragment1
           } else{
              //go to fragment2}
           }
        });
0 голосов
/ 24 мая 2018
    int flag=0;


    button1.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            flag = 1;
        }
    });

    for button2 set flag=2 and so on...

    submit.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {

            if (flag == 1) {

                Intent intent=new Intent(MainActivity.this,FragmentsActivity.class);
                intent.putExtra("fragment_id","1");
                startActivity(intent);

            } else if (flag == 2) {

                Intent intent=new Intent(MainActivity.this,FragmentsActivity.class);
                intent.putExtra("fragment_id","2");
                startActivity(intent);
            }

            //so on....
        }
    });


    // On your FragmentActivity 

    Intent intent=getIntent();
    String fragment_id=intent.getStringExtra("fragment_id");

    //set this fragment_id to the viewpager of your fragments..

 viewPager.setCurrentItem(Integer.parseInt(string));
0 голосов
/ 24 мая 2018

Надеюсь, это сработает для вас.

int flag; 
//define it globally.

//on first button click set flag to 1.

 button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                flag = 1;
            }
        });

     //on second button click set flag to 2.

        button2.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                flag = 2;
            }
        });

 btnSubmit.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {

                if (flag == 1) {
                    //open here fragment 1
                } else if (flag == 2) {
                    //open here fragment 2
                }
            }
        });
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...