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

时间:2018-03-02 09:28:29

标签: android

我想点击“下一步”按钮,将标签从Person_Info更改为Morphology。

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

enter image description here

3 个答案:

答案 0 :(得分:0)

将按钮点击事件从您的片段传递到您的活动,您可以在其中使用查看寻呼机,只需选择下一个标签。

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

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


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

}

在包含片段实现YourNextTabListener

的Activity中
public class YourActivity implements YourNextTabListener {

    Tablayout tablayout;

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

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

       }
}

答案 1 :(得分: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.

答案 2 :(得分:-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;
}