0

我有一个操作栏选项卡,它有两个选项卡,第一个选项卡有一个片段,其布局包含一个按钮,我想要做的是当我单击按钮时,它会切换当前片段的布局,其中该按钮属于..并且有什么办法可以处理这些东西吗?..我有一个想法,但它会在另一个选项卡上产生一个空异常,无论如何让我们专注于第一个选项卡,我想在单击按钮时切换视图,这里是我的示例代码:

主要活动:

ActionBar acBar = getActionBar();
acBar.setNavigationMode(ActionBar.NAVIGATION_MODE_TABS);
ActionBar.Tab tab1 = acBar.newTab().setText("Patient");
ActionBar.Tab tab2 = acBar.newTab().setText("Contact");

Fragment frag_a = new PatientFragment();
Fragment frag_b = new ContactFragment();

tab1.setTabListener(new MyTabListener(this, frag_a));
tab2.setTabListener(new MyTabListener(this, frag_b));

acBar.addTab(tab1);
acBar.addTab(tab2);

选项卡监听器:

class MyTabListener implements ActionBar.TabListener{
    private Fragment gFrag;
    private Activity gAct;

        public MyTabListener(Activity act, Fragment frag){
            this.gFrag = frag;
            this.gAct = act;
        }


        public void onTabReselected(Tab tab, FragmentTransaction ft) {
            Toast.makeText(gAct, "Reselected!", Toast.LENGTH_LONG).show();
        }

        public void onTabSelected(Tab tab, FragmentTransaction ft) {
            ft.replace(R.id.fragment_container, gFrag);
        }

        public void onTabUnselected(Tab tab, FragmentTransaction ft) {
            ft.remove(gFrag);

        }

}

片段 A:

public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view = inflater.inflate(R.layout.frag_a, container, false);
    ;
    Button next = (Button) view.findViewById(R.id.prompt);

    next.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            Toast.makeText(getActivity(), "Next!",Toast.LENGTH_LONG).show();

        }
    });

    return view;
}

主要是我只想在片段中切换视图,如果你们知道还有其他方式,请分享 tnx!

4

1 回答 1

0

建议你全换Fragment。这个 API 就是为这样的目的而设计的。

于 2012-08-21T14:58:44.947 回答