i am trying to handle the onBackPressed diferently for every fragment. for this i want to use a switch statement with cases dependedn on the fragment that is currently showing. in my Main i have. but dont know what to use in the switchstatement.
public class MyActivity extends Activity
{
@Override
public void onBackPressed(){
super.onBackPressed();
switch(........){
case (1):
Fragment1.onBackPressed();
case (2):
Fragment2.onBackPressed();
}
}
in my fragments:
public class Fragment1 extends Fragment
{
//My created method
public static void onBackPressed()
{
// make it do what you want.
}
}
so my question, how can i use a switchstament where de cases are depended on what fragment is showing at this moment.
Don't use such switch in single onBackpressed
of activity but you can get the key event of each fragment object and do like this,
fragment.getView().setFocusableInTouchMode(true); //Don't miss this line
fragment.getView().setOnKeyListener( new OnKeyListener()
{
@Override
public boolean onKey( View v, int keyCode, KeyEvent event )
{
if( keyCode == KeyEvent.KEYCODE_BACK )
{
//Do what you want
return true;
}
return false;
}
} );