Saltar para conteúdo


Foto
- - - - -

onClick - Botão dentro de Fragment


  • Por favor inicie sessão para responder
2 respostas a este tópico

#1 Dexter90

Dexter90

    Novato

  • Membros
  • Pip
  • 3 mensagens
  • Asus Nexus 7, LG Maximo 4X HD

Mensagem publicada 07 April 2014 - 22:15

Estou a trabalhar numa aplicação para android que usa Navigation Drawer.
 
Já percorri várias páginas por esta internet fora, mas sinceramente tenho acabado mais confuso que outra coisa. 
 
Criei a aplicação com o Navigation Drawer como layout para testar diferentes opções mas a verdade é que estou encravado. Aquilo criou bastantes coisas automáticas ficando com as classes: 
Main Activity e Navigation Drawer Fragment.
 
Também me criou vários layouts, tendo a pasta layout activity_main, fragment_main e fragment_navigation_drawer. 
 
O objetivo é eu carregar numa das opções que está na side bar deslizante, e aparecer-me informação especifica, nomeadamente botões. Por exemplo, carregar na opção futebol e ter os botões para primeira liga, segunda liga, terceira liga. Ou então na opção basquetebol e ter a opção notícias, resultados, classificação. Só um exemplo. Ou então aparecer um drop down, também ficaria giro.
 
Já tentei de algumas maneiras diferentes, fiz botões globais invisives em que lhes dava visibilidade dentro do método onNavigationDrawerItemSelected consoante a opção seleccionada. O problema é que rebenta e não estou a conseguir andar daqui para a frente. 

Editado por Dexter90, 08 April 2014 - 16:56.


#2 Dexter90

Dexter90

    Novato

  • Membros
  • Pip
  • 3 mensagens
  • Asus Nexus 7, LG Maximo 4X HD

Mensagem publicada 08 April 2014 - 16:26

Já consegui meter lá o botão, a minha dúvida agora é como defino um comportamento para ele, estando ele lá dentro através deste método:
 

public void onNavigationDrawerItemSelected(int position) {
// update the main content by replacing fragments
//fragmentManager.beginTransaction().add(R.id.button, PlaceholderFragment.newInstance(position + 4), "555").commit();
if(position == 0) {
Fragment fragment = new NetworksButtons();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
}if(position == 1){
Fragment fragment = new PointsButtons();
FragmentManager fragmentManager = getSupportFragmentManager();
fragmentManager.beginTransaction()
.replace(R.id.container, fragment)
.commit();
}
}

É esta linha: button1.setOnClickListener(new View.OnClickListener()

 

que me rebenta o sistema neste momento :/

protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

mNavigationDrawerFragment = (NavigationDrawerFragment)
getSupportFragmentManager().findFragmentById(R.id.navigation_drawer);
mTitle = getTitle();

// Set up the drawer.
mNavigationDrawerFragment.setUp(
R.id.navigation_drawer,
(DrawerLayout) findViewById(R.id.drawer_layout));

button1 = (Button) findViewById(R.id.button);
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
Toast.makeText(getApplicationContext(), "Portas trancadas", Toast.LENGTH_SHORT).show();
}
} );
}

Editado por Dexter90, 08 April 2014 - 16:56.


#3 xanex

xanex

    Membro

  • Membros
  • PipPip
  • 199 mensagens
  • LocalizaçãoLisboa
  • Nexus 10, Nexus 5x, Nexus 6p

Mensagem publicada 10 April 2014 - 16:51

o botão parece-me estar bem, mete ai um log do erro