Ver mensagens sem resposta | Ver tópicos ativos Hoje é 23 Out 2017, 17:54



Responder Tópico  [ 2 Mensagens ] 
 Troca de orientação e fragment perdido 
Autor Mensagem
What is Android?
What is Android?

Data de registro: 24 Set 2015, 13:15
Mensagens: 1
Mensagem Troca de orientação e fragment perdido
Galera, estou quebrando a cabeça ja faz mto tempo....minha aplicação se trata de um navigation drawer que quando clica no botao ele cria um novo fragment, mais quando rotaciono o celular ele destroi a minha activity, e cria ela novamente. Minha questao é o seguinte, quando eu rotacionar a tela eu quero q o meu fragment q estava na tela em portraid, volte a aparecer como landscape.

package com.example.t_gamer.propostatcc.Activities;

import android.content.Intent;
import android.os.Bundle;
import android.os.PersistableBundle;
import android.support.design.widget.FloatingActionButton;
import android.support.design.widget.Snackbar;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentTransaction;
import android.view.View;
import android.support.design.widget.NavigationView;
import android.support.v4.view.GravityCompat;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;

import com.example.t_gamer.propostatcc.Classes.Conexao;
import com.example.t_gamer.propostatcc.Fragments.CopaFragment;
import com.example.t_gamer.propostatcc.Fragments.CozinhaFragment;
import com.example.t_gamer.propostatcc.Fragments.HomeFragment;
import com.example.t_gamer.propostatcc.Fragments.QuartoFragment;
import com.example.t_gamer.propostatcc.Fragments.SalaFragment;
import com.example.t_gamer.propostatcc.Fragments.SuiteFragment;
import com.example.t_gamer.propostatcc.Fragments.SuporteFragment;
import com.example.t_gamer.propostatcc.R;

public class MainActivity extends AppCompatActivity
        implements NavigationView.OnNavigationItemSelectedListener {
    private int id;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        if (savedInstanceState != null) {


        }

        Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar);
        setSupportActionBar(toolbar);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
                this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
        drawer.setDrawerListener(toggle);
        toggle.syncState();

        NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
        navigationView.setNavigationItemSelectedListener(this);

        displaySelectedSreen(R.id.nav_home);
    }

    @Override
    public void onBackPressed() {
        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        if (drawer.isDrawerOpen(GravityCompat.START)) {
            drawer.closeDrawer(GravityCompat.START);
        } else {
            super.onBackPressed();
        }
    }

    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

    @Override
    public boolean onOptionsItemSelected(MenuItem item) {
        // Handle action bar item clicks here. The action bar will
        // automatically handle clicks on the Home/Up button, so long
        // as you specify a parent activity in AndroidManifest.xml.
        int id = item.getItemId();

        //noinspection SimplifiableIfStatement
        if (id == R.id.action_settings) {
            return true;
        }

        return super.onOptionsItemSelected(item);
    }
    private void displaySelectedSreen(int id){
        Fragment fragment = null;

        switch (id){
            case R.id.nav_home:
                fragment = new HomeFragment();

                break;
            case R.id.nav_copa:

                fragment = new CopaFragment();

                break;
            case R.id.nav_cozinha:
                fragment = new CozinhaFragment();
                break;
            case R.id.nav_sala:
                fragment = new SalaFragment();
                break;
            case R.id.nav_suite:
                fragment = new SuiteFragment();
                break;
            case R.id.nav_quarto_hospedes:
                fragment = new QuartoFragment();
                break;
            case R.id.nav_tutorial:
                //criar Tutorial
                break;
            case R.id.nav_suporte:
                fragment = new SuporteFragment();
                break;
        }
        if(fragment != null){


            FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
            ft.replace(R.id.content_main, fragment);
            ft.commit();
        }

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
    }

    @SuppressWarnings("StatementWithEmptyBody")
    @Override
    public boolean onNavigationItemSelected(MenuItem item) {
        // Handle navigation view item clicks here.
        id = item.getItemId();


        displaySelectedSreen(id);

        DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
        drawer.closeDrawer(GravityCompat.START);
        return true;
    }



}


ai esta minha main activity completa;

package com.example.t_gamer.propostatcc.Fragments;

import android.os.AsyncTask;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentTransaction;
import android.util.Log;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.CompoundButton;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;

import com.example.t_gamer.propostatcc.Classes.Conexao;
import com.example.t_gamer.propostatcc.R;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

/**
 * Created by T-Gamer on 23/08/2017.
 */


public class CopaFragment extends Fragment {

    protected static final String TAG = "retorno";
    private Switch aSwitch;
    private String estado;


    @Nullable
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) {

        View view = inflater.inflate(R.layout.copa_fragment, container, false);
        aSwitch = (Switch)view.findViewById(R.id.switch_ilumincao_copa);


       aSwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
            @Override
            public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
                if(aSwitch.isChecked()){
                    Conexao conexao = new Conexao();
                    conexao.comando("rele_copa_liga");




                }else {
                    Conexao conexao = new Conexao();
                    conexao.comando("rele_copa_desliga");


                }
            }
        });
           return view;
    }


    @Override
    public void onViewCreated(View view, @Nullable Bundle savedInstanceState) {
        super.onViewCreated(view, savedInstanceState);
        getActivity().setTitle("Copa");


       }


    }

 

e aqui um fragment como exemplo....


14 Set 2017, 19:17
Perfil
Google employee
Google employee

Data de registro: 01 Jul 2013, 13:45
Mensagens: 2679
Localização: Rio de Janeiro
Mensagem Re: Troca de orientação e fragment perdido
Vai no AndroidMainfest.xml e adiciona esse atributo no marcador application:


    android:configChanges="orientation"
 

_________________
Quando seu problema for resolvido, clique na opção Editar no lado superior direito da sua primeira mensagem e coloque [Resolvido] no título.
Se resolveu o problema sozinh@, não esqueça de postar a solução, ela ajuda usuários em buscas no fórum.
Use os marcadores java e xml quando for postar.

Aprenda Java com esta apostila.


14 Set 2017, 19:27
Perfil WWW
Mostrar mensagens anteriores:  Organizar por  
Responder Tópico   [ 2 Mensagens ] 

Quem está online

Usuários vendo este fórum: ademilson, Alexandre de Queiroz, alexcost2002, Alexsandro Tirloni, am2net, anaguerra, Anderson MarkZ, Andre, Antonio Carlos, arilsonm, AT-AT, attomweb, baudamix, betofigu, Biel, Bitetti, Blackstorm, BOMBER27, BornSlip, Bruno, caliow, capo, cassiano, Catapan, cenatech, Chassot, christian, Christiane, culumin, czambroni, Darth Sidious, deborazb, Deiapinh, digiwise, e-azuos, edwarvelarde, euguns, fabricioLeonard, felipe.buarque, felipetesc, fernando neves, flashking, Flavio Alves, Gabriel Laet, gapler, genildof, Governador Wilhuff Tarkin, guilhermepilotti, GuilhermeZampieri, hbarroco, henrique.cardoso, hugomarinho, HyagoRules, icarodavi, IgorBrum, ijsilvestre, ismaelbpaiva, jackdaniel, JairoCN, Jaison, jcdeveloper, jefficojava, jijo, johnnyjx, Ki-Adi-Mundi, kleberperea, Legiao, leo, lkunta, Lord, lucastgomes, luizcesar, luizneto79, Machado000, maolveira, Marcelo Lima, marcos_trb, marcosandreao, marcow, mauriciomag, maximilianjx, mcroft, mrkensley, NeruLL, Newton Barbosa, nfaria, nina.rm, otpor, pabarbosa, Patricia, Paulo, pedro, Petto, Portal Android, Rafael Felix, rafsantos, Rainha Amidala/Padmé, ramonsiebra, rananfu, raragao, renatocoliveira, Ricardo Chikasawa, ricardzanella, Robson Florentino, rogeriopgomes, Rubens Prates, sergio, siker C3PO, slackware, snonca, suportecr, taluna, the_hulk_knifer, thiaguim, Toks, ttaranto, ubiratan, viniciusluiz, wagner_francisco, Wds, Wendel Carvalho, wil, XPTO, Yoda, zorieuq e 1 visitante


Você não pode criar novos tópicos neste fórum
Você não pode responder tópicos neste fórum
Você não pode editar suas mensagens neste fórum
Você não pode excluir suas mensagens neste fórum
Você não pode enviar anexos neste fórum

Procurar por:

© 2007 - 2016 Portal Android - Comunidade de Desenvolvedores Android

Estamos no Linkedin    Siga-nos no twitter


Powered by phpBB - Hospedado por Bemobi