У меня есть 3 класса фрагментов.Когда я нахожусь в 1-м классе фрагментов, имеющем две кнопки, то есть «следующая» и «предыдущая», кнопка «предыдущая» должна оставаться неактивной, а затем при нажатии кнопки «далее» класс фрагмента должен переключиться на 2-й класс фрагмента и аналогично нажатию «Кнопка «Далее» должна переключиться на 3-й класс фрагмента, но оставшаяся кнопка «Далее» не может быть нажата.
Моя проблема в том, что ни одна из кнопок не работает при нажатии.Когда я на первой странице, ни кнопка «Следующая» не переключается на второй класс фрагмента, ни кнопка «Предыдущая» не остаются неактивными.
Прямо сейчас, чтобы проверить, я изменяю цвет текста кнопок как белый, так ипочувствуйте, что кнопка не щелкается.
public class HomeFormViewActivity extends AppCompatActivity implements
FirstPage.OnFragmentInteractionListener,
SecondPage.OnFragmentInteractionListener,
ThirdPage.OnFragmentInteractionListener {
Button button1, button2;
public FrameLayout frameLayout;
public FirstPage firstPage;
public SecondPage secondPage;
public ThirdPage thirdPage;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_home_form_view);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
button1 = findViewById(R.id.pre_button);
button2 = findViewById(R.id.nxt_button);
frameLayout = findViewById(R.id.frame_layout);
firstPage = new FirstPage();
secondPage = new SecondPage();
thirdPage = new ThirdPage();
setFragment(firstPage); // To display first fragment
if (currentFragment() instanceof FirstPage){
Toast.makeText(this, "You are in first page", Toast.LENGTH_SHORT).show();
button1.setTextColor(getResources().getColor(R.color.LightGrey));
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setFragment(secondPage);
}
});
}
if (currentFragment() instanceof SecondPage){
Toast.makeText(this, "You are in second page", Toast.LENGTH_SHORT).show();
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setFragment(thirdPage);
}
});
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setFragment(firstPage);
}
});
}
if (currentFragment() instanceof ThirdPage){
Toast.makeText(this, "You are in third page", Toast.LENGTH_SHORT).show();
button2.setTextColor(getResources().getColor(R.color.LightGrey));
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setFragment(secondPage);
}
});
}
}
public Fragment currentFragment() {
return getSupportFragmentManager().findFragmentById(R.id.frame_layout);
}
private void setFragment(Fragment fragment) {
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.frame_layout, fragment);
fragmentTransaction.commit();
}
@Override
public void onFragmentInteraction(Uri uri) {
}