想要更改按钮上的选项卡单击使用选项卡式活动

问题描述 投票:0回答:3

我想在单击NEXT按钮时将选项卡从Person_Info更改为Morphology。

我正在处理相应片段类中的按钮单击,即在PersonInfo类中,类似于代码

enter image description here

android
3个回答
0
投票

将按钮单击事件从您的片段传递到您的活动,您可以在其中使用查看分页器,只需选择下一个选项卡即可。

public class YourFragment {
    YourNextTabListener  listener;
// .. initializations 

// on next button click listener
     onClick(View v) {
        listener.onNextTabButtonClick();
     }


public interface YourNextTabListener {
   void onNextTabButtonClick();
   void onPreviousTabButtonClick();
}

}

在您的Activity中包含片段实现YourNextTabListener

public class YourActivity implements YourNextTabListener {

    Tablayout tablayout;

    @override
    void onCreate () {
        //tablayout initialize
    }

    //.
    //.
    //.
    @override 
    void onNextTabButtonClick(){
        // tablayout.setCurrentTab(<next_tab_index>)
    }
    @override
    void onPreviousTabButtonClick(){

       }
}

0
投票
TabLayout tabLayout = (TabLayout) findViewById(R.id.tabs);
int index=2;
TabLayout.Tab tab = tabLayout.getTabAt(index);
tab.select();//may produce null pointer exception if index not found.

-1
投票

已经试过了吗?:

//Activity.java
ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
Button next = findViewById(R.id.button);
next.setOnClickListener(new View.OnClickListener() {
    public void onClick(View v) {
             viewPager.setCurrentItem(1);
        }
    });
});

//Fragment.java
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    // Inflate the layout for this fragment
    View _view = inflater.inflate(R.layout.yourLayout, container, false);

    Button next = _view.findViewById(R.id.button);
    next.setOnClickListener(new View.OnClickListener() {
       public void onClick(View v) {
             viewPager.setCurrentItem(1);
           } 
       });
   });
   return _view;
}
© www.soinside.com 2019 - 2024. All rights reserved.