Android 我的片段仍在UI中
这是我第一个通过xml布局打开片段的片段Android 我的片段仍在UI中,android,android-fragments,Android,Android Fragments,这是我第一个通过xml布局打开片段的片段 public class ListFrag extends SherlockFragment implements OnItemClickListener { Context c; List<ReferalRow> referal_RowItems; DoctorDaoImpl doctorDao; DoctorServiceImpl service; DoctorValidator doctorVal
public class ListFrag extends SherlockFragment implements OnItemClickListener
{
Context c;
List<ReferalRow> referal_RowItems;
DoctorDaoImpl doctorDao;
DoctorServiceImpl service;
DoctorValidator doctorValidator;
View layoutView;
ListView doctoListView;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
layoutView = inflater.inflate(R.layout.activity_refer_mangmnt, null);
return layoutView;
}
这是我的DetailFrag课程
public class DetailsFrag extends SherlockFragment
{
ExpandableListView detailList;
TextView tvMessage;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
contentView = inflater.inflate(R.layout.activity_refer_view, null);
detailList = (ExpandableListView) contentView.findViewById(R.id.ep_detail_view);
tvMessage = (TextView)contentView.findViewById(R.id.tv_textView);
return contentView;
}
@Override
public void onActivityCreated(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onActivityCreated(savedInstanceState);
if(id==0)
{
detailList.setVisibility(View.GONE);
tvMessage.setText("Click on the item on the left panel to view the details");
}
else
{
detailList.setVisibility(View.VISIBLE);
tvMessage.setVisibility(View.GONE);
}
这是我在LIstFrag中的onItem单击侦听器
FragmentTransaction ft = getFragmentManager().beginTransaction();
Fragment lastFrag = getFragmentManager().findFragmentByTag("detailfrag");
if(lastFrag!=null)
ft.remove(lastFrag);
Fragment fragment = Fragment.instantiate(c, DoctorDetailsFrag.class.getName(),arguments);
ft.replace(R.id.detail_fragment, fragment);
ft.commit();
当我第一次想要在右面板中显示消息时,我需要单击列表中的项目,然后我想要删除该消息。但这里的信息并没有从片段中删除。它显示在新片段的背面。是吗?试试:
ft.addToBackStack(null)
调用后:ft.remove(lastFrag)
也许此链接可以帮助您了解此交易:
另一种方法是在lastFrag不为null时重用它。然后,在DetailFrag中需要一个从clickListener调用的方法
ft.addToBackStack(null)