Android如何在活动中添加返回按钮以返回片段活动

时间:2015-10-03 06:18:20

标签: java android android-fragments

您好我有一个简单的活动和片段我想在活动操作栏上添加添加回按钮并返回到片段。这是我的代码

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")));

    }

}

2 个答案:

答案 0 :(得分: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);
   }
}

答案 1 :(得分: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;
}