Pergunta

Eu tenho um aplicativo onde é apenas um cronômetro com vários métodos especiais na atividade principal.Isso funciona muito bem sem problemas.Agora que estou funcionando, estou tentando incluí-lo em uma aplicação muito mais complicada, onde inserirei o cronômetro em vários lugares por meio de fragmentos.

Devo incluir todos os meus métodos especiais na minha atividade de fragmento?Ou seja:

public class Timer_fragment extends android.support.v4.app.Fragment {

    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container,
            Bundle savedInstanceState) {
        // Inflate the layout for this fragment
        return inflater.inflate(R.layout.timer_frag, container, false);
    }
    //SHOULD I insert my special methods here?
}

ou devo incluí-los no meu principal?

Estou perguntando porque tentei das duas maneiras, e a forma de atividade de fragmento me deu erros em java, mas colocá-los em meu principal me deu erros durante o tempo de execução.Basicamente, tenho um cronômetro que funciona muito bem como um aplicativo independente, mas estou tentando convertê-lo em um fragmento, para poder conectá-lo a vários locais do meu aplicativo.

Exemplos de "métodos especiais":Eu dou uma olhada no layout e o atualizo de acordo com os novos números inseridos no cronômetro.Esses métodos exigem que a visualização seja inflada antes de poderem ser usados.

Observação:Os erros em tempo de execução que estou enfrentando são nullPointerExceptions.

Foi útil?

Solução

A ideia por trás de um Fragmento é que ele seja uma seção recuperável (ou seja, um fragmento) de uma Atividade que pode ser usada em outras Atividades, ou mesmo na mesma Atividade, mas com a adição ou ausência de outros Fragmentos.

No aplicativo Gmail, por exemplo, a lista de todos os e-mails em uma caixa de entrada é um Fragmento, e o conteúdo real de um e-mail é outro Fragmento.Em um tablet no modo paisagem, ambos são mostrados.Um telefone no modo retrato, entretanto, mostrará apenas um dos dois Fragmentos de uma vez.

Assim, cada Fragmento deve encapsular todas as funcionalidades e componentes de UI necessários para usar esse Fragmento.Isso significa que todos os seus métodos "especiais", como inflar o XML de visualização do Fragmento, devem acontecer dentro do Fragmento.

A Atividade (ou Atividades) que utiliza o Fragmento só precisa usar um FragmentManager (ou método semelhante) para adicionar seu Fragmento ao layout da Atividade.A atividade pai de um fragmento também deve lidar com a comunicação entre fragmentos e outros componentes, como outras atividades, fragmentos ou threads.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top