2015-10-03 108 views
0

您好,我有一個簡單的活動和片段,我想添加活動操作欄上的添加按鈕並返回到片段。這裏是我的代碼Android如何在活動中添加返回按鈕以返回片段活動

public class Fragment2Jazz extends Fragment { 


    Button msgButton; 
    Button callButton; 
    Button internetButton; 

    public Fragment2Jazz(){} 

    @Override 
    public View onCreateView(LayoutInflater inflater, ViewGroup container, 
     Bundle savedInstanceState) { 


     View rootView = inflater.inflate(R.layout.jazz_fragment, container, false); 

     msgButton = (Button) rootView.findViewById(R.id.btnjazz1); 
     callButton= (Button) rootView.findViewById(R.id.btnjazz2); 
     internetButton= (Button) rootView.findViewById(R.id.btnjazz3); 

     msgButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       Intent intent = new Intent(getActivity() , JazzMessage.class); 

       getActivity().startActivity(intent); 

      } 
     }); 

     callButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       Intent intent = new Intent(getActivity() , JazzCall.class); 

       getActivity().startActivity(intent); 

      } 
     }); 

     internetButton.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View view) { 

       Intent intent = new Intent(getActivity() , JazzInternet.class); 

       getActivity().startActivity(intent); 

      } 
     }); 

     return rootView; 
    } 
} 

活動

public class JazzCall extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.jazz_detail_call); 

     ActionBar actionBar = getActionBar(); 
     actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF9999"))); 

    } 

} 

回答

0

更改您的JazzCall如下:

public class JazzCall extends Activity { 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.jazz_detail_call); 

     ActionBar actionBar = getActionBar(); 
     actionBar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#FF9999"))); 

     actionBar.setDisplayHomeAsUpEnabled(true); 
     actionBar.setDisplayShowHomeEnabled(true); 

    } 

    public boolean onOptionsItemSelected(MenuItem item) { 

     switch (item.getItemId()) { 
      case android.R.id.home: 
       finish(); 
       return true; 
     } 

     return super.onOptionsItemSelected(item); 
    } 
} 
+0

非常感謝你......它的工作 – attaullah

0

查看視圖;

// public OnBackPressedListener onBackPressedListener; 

@Override 
public View onCreateView(LayoutInflater inflater, 
     ViewGroup container, Bundle args) { 

    view = inflater.inflate(R.layout.yourclassname, container, false); 
    getActivity().getActionBar().hide(); 
    view.setFocusableInTouchMode(true); 
    view.requestFocus(); 
    view.setOnKeyListener(new View.OnKeyListener() { 
     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      Log.i(getTag(), "keyCode: " + keyCode); 
      if (keyCode == KeyEvent.KEYCODE_BACK) { 
       getActivity().getActionBar().show(); 
       Log.i(getTag(), "onKey Back listener is working!!!"); 
       getFragmentManager().popBackStack(null, FragmentManager.POP_BACK_STACK_INCLUSIVE); 
       // String cameback="CameBack"; 
       Intent i = new Intent(getActivity(), fragment.class);// home page 
       // i.putExtra("Comingback", cameback); 
       startActivity(i); 
       return true; 
      } else { 
       return false; 
      } 
     } 
    }); 
    return view; 
}