问题描述
- FragmentTransaction.remove()没有去除掉相应的Fragment
- 最近在练习Fragment的使用,但是在后台使用transaction.remove(fragment);后,界面上仍然能看的到相应的fragment,并没有移除这个fragment。
请问在使用FragmentTransaction的时候,在界面布局和后台管理上应该注意什么?
我为什么没有实现想要的移除动作。
解决方案
LZ你transaction.remove之后进行了commit操作么?估计是没进行着项操作导致的
解决方案二:
http://www.allfordev.com/question/3
这里有个很好的解决方案
解决方案三:
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(); } }); }}
上边是相应的后台代码,请各位帮忙查看一下。
时间: 2024-10-28 18:50:23