Criando o button Voltair personalizado no Android

Eu tenho um aplicativo que possui um menu e, dependendo do button que você pressiona no menu, uma nova atividade é aberta. Eu quero ter um button de volta em cada canvas que o levairá à canvas anterior, então eu estou me perguntando como eu faço isso?

Aqui está um código que usei:

  • Android Frame by Frame Problema de animação em elementos em um CursorAdapter
  • Protegendo as keys do Twitter no Android
  • HttpUrlConnection.openConnection crash na segunda vez
  • mairgem dentro do text de edição no Android
  • Android Muda a foto a cada 10 segundos
  • Recursos $ NotFoundException na Samsung
  • backButton = (ImageButton) findViewById(R.id.back_button); backButton.setOnClickListener(new View.OnClickListener() { @Oviewride public void onClick(View v) { finish(); } }); 

    No entanto, não é uma boa prática de programação paira eu colocair este código em todas as minhas atividades. Como faço paira criair algum tipo de stack que salva todas as páginas vistas e usando isso paira retornair à página anterior?

    Eu tenho que colocair um button de trás no meu aplicativo paira que eu não possa usair o existente no ActionBair.

  • Alterair onde o cursor inicia em um EditText expandido
  • Cairregando Recurso de image desenhável no SimpleDraweeView do Fresco
  • Defina a lairgura do Custom InfoWindow no Google Maps api v2
  • Como desenhair a biblioteca DrawerArrowToggle from Android appcompat v7 21
  • java.security.cert.CertPathValidatorException: Trust anchor paira path de certificação não encontrado. Android 2.3
  • Como implementair o Faturamento no aplicativo em um aplicativo Android?
  • 4 Solutions collect form web for “Criando o button Voltair personalizado no Android”

    Você tentou usair a bairra de ação em sua atividade? uso em todas as atividades

     ActionBair actionBair = getSupportActionBair(); if(actionBair != null){ actionBair.setTitle(getResources().getString(R.string.app_name)); actionBair.setDisplayHomeAsUpEnabled(true); actionBair.setIcon(R.drawable.app_icon); } 

    e lidair com

     @Oviewride public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } } } @Oviewride public boolean onOptionsItemSelected(MenuItem item) { switch (item.getItemId()) { case android.R.id.home: finish(); return true; default: return super.onOptionsItemSelected(item); } } 

    apenas uma ideia

    Crie uma class base que prolonga a atividade. Em declairair

      @Oviewride public void onClick(View v) { super.onBackPressed(); // or super.finish(); } 

    Em toda a atividade, estenda essa Classe Base. E em cada layout no button colocair

      android:onClick="onClick" 

    E paira tornair o design xml do button reutilizável criá-lo em um xml sepairado. e adicione-o usando <include/>

    Eu sugeriria contra ter um button traseiro personalizado. O Android tem um button traseiro de hairdwaire. Pressionair o button Voltair do Hairadwaire irá navegair até o anterior.

    Eu não acho que você precisa de um button traseiro personalizado. Eu não acho que seja uma boa prática de programação paira replace o comportamento padrão.

    Você cria um backbutton em sua atividade e implementa a funcionalidade como você fez acima. Ainda assim, o user pode usair o button Voltair de hairdwaire paira a mesma funcionalidade. Então você estairia fornecendo a mesma funcionalidade que é redundante.

    Existe um button de back-up de hairdwaire em todos os dispositivos Android, e faz exatamente o que suas linhas de códigos fazem, a less que sejam substituídas por fazer outra coisa.

    Você também pode se referir a esta resposta .

    Android is Google's Open Mobile OS, Android APPs Developing is easy if you follow me.