J'ai ALr.java class et FragHandler. FragHandler a Tablayout et viewpager. Le code ALR et FragHandler est écrit ci-dessous. Je veux ouvrir l'onglet Paramètres qui est le troisième onglet de FragHandler en cliquant sur ALR i.e. rl.setonclicklisterner en appelant la méthode activatealert.Android - Ouvert 3ème onglet de l'intention tirée de la boîte de dialogue en fragment
MyFragHandler Classe
public class FragHandler extends AppCompatActivity
TabLayout tabLayout;
Toolbar customtoolbar;
SharedPreferences sharedPreferences;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.alstabopener);
sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
tabLayout = (TabLayout) findViewById(R.id.tab_layout);
tabLayout.addTab(tabLayout.newTab().setText("1"));
tabLayout.addTab(tabLayout.newTab().setText("2"));
tabLayout.addTab(tabLayout.newTab().setText("Settings"));
tabLayout.setTabGravity(TabLayout.GRAVITY_FILL);
final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);
final AlsViewChanger adapter = new AlsViewChanger(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
}
et mon ALR.java d'où je suis en train d'ouvrir l'onglet 3.
public class ALR extends Fragment {
TextView rl,
@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) throws NullPointerException {
View view = inflater.inflate(R.layout.ar, container, false);
rl = (TextView) view.findViewById(R.id.reto);
rl.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
activatealert();
});
public void activatealert() {
MaterialDialog activateald = new MaterialDialog.Builder(getActivity())
.content("In order to use these services, please click settings and set appropriate options to activate Where R U feature.")
.title("Activate Where R U")
.positiveColor(Color.BLUE)
.negativeColor(Color.RED)
.positiveText("Settings")
.negativeText("Cancel")
.onPositive(new MaterialDialog.SingleButtonCallback() {
@Override
public void onClick(@NonNull MaterialDialog dialog, @NonNull DialogAction which) {
Intent intent = new Intent(getActivity(),FragHandler.class);
intent.putExtra("Settings",2);
startActivity(intent);
}
})
.show();
}
}
il ouvre onglets activitiy mais pas d'abord Tab troisième au besoin. Guide de Pls.
I corps mis à jour avec plus d'informations. pls lire et guider. comme ni 1 ni 2 cas peuvent aider parce que je n'ai pas tablayout et viewpager dans la classe ALR.java d'où j'appelle l'onglet 3. – Panache
@Panache si j'ai bien compris, le cas 1 est ce dont vous avez besoin. Vous lancez FragHandler Activity depuis ALR.java en passant le drapeau "Settings". maintenant dans onCreate of FragHandler, vous pouvez initialiser votre ViewPager & TabLayout. Juste en dessous de ce code, essayez et vérifiez en ajoutant une ligne comme viewPager.setCurrentItem (2); Cela va programmer votre 3ème onglet sélectionné. –
J'ai ajouté à la fois la classe et de meilleures informations, pls regarder – Panache