如何管理不同的按钮来打开碎片?

时间:2018-05-24 06:55:06

标签: android android-fragments

我有三个按钮:按钮1,按钮2和按钮提交。所有这些按钮都在同一个活动中。这个概念是, 当我点击按钮1然后按下提交按钮,然后片段1打开。当我点击按钮2并按下按钮提交然后片段2打开时,方式相同。请帮我解决这个概念。

提前致谢。

2 个答案:

答案 0 :(得分:1)

想法很简单。

全局范围变量 int flag;

点击button1 make flag = 1。

如果你点击了botton2 make flag = 2。

然后在提交的onclick上,检查flag的值。

如果flag = 1则转到fragment1,否则转到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}
           }
        });

答案 1 :(得分:0)

    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));