最近在练习Fragment的使用,但是在后台使用transaction.remove(fragment);后,界面上仍然能看的到相应的fragment,并没有移除这个fragment。
请问在使用FragmentTransaction的时候,在界面布局和后台管理上应该注意什么?
我为什么没有实现想要的移除动作。
LZ你transaction.remove之后进行了commit操作么?估计是没进行着项操作导致的
package com.yitoujr;
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 com.yitoujr.widget.ForgetPSD1Fragment;
import com.yitoujr.widget.ForgetPSD2Fragment;
public class ForgetPsdActivity extends Activity {
private FragmentManager fManager;
private ForgetPSD1Fragment psd1;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
this.setContentView(R.layout.forgetpsd);
fManager = getFragmentManager();
psd1=(ForgetPSD1Fragment) fManager.findFragmentById(R.id.forgetpsd1);
Button btnNext = (Button) findViewById(R.id.next);
btnNext.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
FragmentTransaction transaction = fManager.beginTransaction();
ForgetPSD2Fragment fragment=new ForgetPSD2Fragment();
//transaction.replace(R.id.forgetpsd1, fragment);
transaction.remove(psd1);
//transaction.addToBackStack(null);
transaction.commit();
}
});
}
}
上边是相应的后台代码,请各位帮忙查看一下。