Java 如何隐藏frag并刷新活动以显示此信息

Java 如何隐藏frag并刷新活动以显示此信息,java,android,android-layout,Java,Android,Android Layout,我有一个叫做ac的按钮,当我点击它时,我想隐藏我的两个片段,叫做a和b,但这并没有发生,我需要做什么才能让它工作 package cmsc436.lab5; import android.app.Activity; import android.app.FragmentManager; import android.app.FragmentTransaction; import android.os.Bundle; import android.view.View; import and

我有一个叫做ac的按钮,当我点击它时,我想隐藏我的两个片段,叫做a和b,但这并没有发生,我需要做什么才能让它工作

package cmsc436.lab5;


import android.app.Activity;
import android.app.FragmentManager;
import android.app.FragmentTransaction;

import android.os.Bundle;

import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
 import android.widget.LinearLayout;

  public class Lab5Activity extends Activity  implements button2interface, button1interface{
/** Called when the activity is first created. */
button1 a;
button2 b ;
FragmentManager fragmentManager;
FragmentTransaction fragmentTransaction;

@Override
public void onCreate(Bundle savedInstanceState) {

     super.onCreate(savedInstanceState);
        a= new button1();
        b=new button2();
     final LinearLayout linearLayout = new LinearLayout(this);
    linearLayout.setId(1);
     fragmentManager = getFragmentManager();
    fragmentTransaction = fragmentManager.beginTransaction();

    //a.getActivity().findViewById(1);
    fragmentTransaction.add(linearLayout.getId(), a);
    fragmentTransaction.add(linearLayout.getId(), b);
    fragmentTransaction.commit();

    final Button ac =new Button(this);
    ac.setText("c button");

    linearLayout.addView(ac);
    setContentView(linearLayout);


    ac.setOnClickListener(new OnClickListener() {

        public void onClick(View v) {
            fragmentTransaction.hide(a);
            fragmentTransaction.hide(b);

        }
    });

}

@Override
public void buttonClick1() {
    if (b.isHidden()) {
        fragmentTransaction.show(b);
        }
        else {
        fragmentTransaction.hide(b);
        }   
}

@Override
public void buttonClick2() {
    if (a.isHidden()) {
        fragmentTransaction.show(a);
        }
        else {
        fragmentTransaction.hide(a);
        }   
}

}

我以前没有真正使用过片段,但看起来您正在尝试重新使用已提交的
片段事务。您的
碎片事务不需要成员变量
;您应该在每次需要时创建一个新的:

public void onClick(View v) {
    FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
    fragmentTransaction.hide(a);
    fragmentTransaction.hide(b);
    fragmentTransaction.commit();
 }
“包装cmsc436.lab5;”?Lab5活动?你要上这门课吗?你的班主任同意在这里问这种问题吗?:)