Jump to content


Photo
- - - - -

onClick - Botão dentro de Fragment


  • Please log in to reply
2 replies to this topic

#1 Dexter90

Dexter90

    Novato

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

Posted 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. 

Edited by Dexter90, 08 April 2014 - 16:56.


#2 Dexter90

Dexter90

    Novato

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

Posted 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();
}
} );
}

Edited by Dexter90, 08 April 2014 - 16:56.


#3 xanex

xanex

    Membro

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

Posted 10 April 2014 - 16:51

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