Partage
  • Partager sur Facebook
  • Partager sur Twitter

Tabbed Activity changer de vue

Afficher une nouvelle vue dans le container

    7 octobre 2019 à 23:28:33

    Bonjour,

    Cela fait plusieurs jours que je cherche à changer la vue d'un container quand je clique sur une image dans un tabbed Activity.

    J'arrive à afficher une nouvelle fenêtre dans quand on appuie sur la bouton (ici une image) avec setContentView mais c'est pas exactement ce que je veux faire.

    Ce que je veux faire c'est dans le onClick, seulement ce qu'il y a dans le container dans de vue (c'est à dire la view retourne un autre layout.xml). Et le reste de ce qui est affiché sur l'écran reste à sa place.

    Actuellement ma solution ci-dessous remplace tout ce qui est affiché sur l'écran par un nouveau layout :

    public class TabFragmentMenu extends Fragment {

    private static final String TAG = "TabFragmentMenu";


    private ImageView idemOne;


    public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState){
    View view = inflater.inflate(R.layout.tab_fragment_menu, container, false);
    final View viewTwo = inflater.inflate(R.layout.fragment_list_food_idem_one, container, false);


    idemOne = (ImageView) view.findViewById(R.id.food_idem_one_image);

    idemOne.setOnClickListener(new View.OnClickListener() {





    private View view = ((NavBar )getActivity()).getmViewPager();

    @Override
    public void onClick(View view) {

    getActivity().setContentView(R.layout.fragment_list_food_idem_one);

    }
    });

    return view;
    }
    }

    Merci d'avance pour vos réponses.

    • Partager sur Facebook
    • Partager sur Twitter
      9 octobre 2019 à 9:28:05

      Salut,

      Tu dois utiliser des fragments. Il n'est pas conseillé de changer le layout d'une activité.

      • Partager sur Facebook
      • Partager sur Twitter
        14 octobre 2019 à 20:06:58

        Salut,

        J'utilise actuellement des fragments !

        J'ai un peu avancé ! Quand je clique sur l'image, j'ai un nouveau fragment qui s'affiche à l'endroit où je veux mais le problème c'est qu'il s'affiche sur tous les Tabs en replaçant le layout des autres par le siens. Ce que je souhaite faire c'est qu'il s'affiche seulement dans le tab en question. Voici le code source et si jamais quelqu'un a une suggestion, ça me serait très utile merci beaucoup :

        public class TabFragmentMenu extends Fragment {

        private static final String TAG = "TabFragmentMenu";

        private ImageView idemOne;


        public View onCreateView(final LayoutInflater inflater, @Nullable final ViewGroup container, @Nullable Bundle savedInstanceState){
        View view = inflater.inflate(R.layout.tab_fragment_menu, container, false);

        idemOne = (ImageView) view.findViewById(R.id.food_idem_one_image);

        idemOne.setOnClickListener(new View.OnClickListener() {


        @Override
        public void onClick(View view) {
        FragmentManager fragmentManager = getFragmentManager();
        FragmentTransaction fragmentTransaction =fragmentManager.beginTransaction();
        fragmentTransaction.replace(R.id.menu_model_view,new TabFragmentProfile());
        fragmentTransaction.commit();
        }
        });

        return view;
        }

        }

        -
        Edité par maczzi 14 octobre 2019 à 20:07:24

        • Partager sur Facebook
        • Partager sur Twitter

        Tabbed Activity changer de vue

        × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
        • Editeur
        • Markdown