在我的HomeFragment
中,我使用Tabhost添加了两个标签。在tabhost中有两个片段。从Tabhost fragment 1
我必须转到另一个片段。但是它给出了No view found
错误。我无法理解这个问题,请帮我解决这个问题。
下面的代码是我的tabhost fragment 1
。从这个片段我必须去另一个片段。
public class TopRatedFragment extends Fragment
{
String strtext;
View FaramentView;
TextView home_item_price;
TextView home_item_name;
ImageView home_item_image;
String itemDescription;
String itemName;
String ItemPath;
String ItemCode;
double itemPrice;
Button home_button_shop_now;
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
{
final View rootView = inflater.inflate(R.layout.fragment_top_rated, null);
//TextView.class.cast(rootView.findViewById(R.id.labelText)).setText("Earth");
home_item_name=(TextView)rootView.findViewById(R.id.home_item_name);
home_item_price=(TextView)rootView.findViewById(R.id.home_item_price);
home_item_image=(ImageView)rootView.findViewById(R.id.home_item_image);
home_button_shop_now=(Button)rootView.findViewById(R.id.home_button_shop_now);
home_button_shop_now.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View arg0)
{
Fragment mFragment = new DetailFragment();
mFragment.setArguments(bundle);
android.support.v4.app.FragmentTransaction ft = getFragmentManager().beginTransaction();
ft.replace(R.id.content_frame, mFragment);
ft.addToBackStack(null);
ft.commit();
}
});
return rootView;
}
}
答案 0 :(得分:0)
ft.replace(R.id.content_frame, mFragment);
ft.addToBackStack(null);
ft.commit();
此处没有从父活动调用R.id.content_frame,如果没有尝试更改父活动中的content_frame id,则可能会重复。
答案 1 :(得分:0)
最终我得到了解决方案,简单的改变tabhost setactivity来自
tabHost.setup(getActivity(), getChildFragmentManager(), R.layout.home_fragment);
到
tabHost.setup(getActivity(), getFragmentManager(), R.layout.home_fragment);