片段:java.lang.IllegalArgumentException:找不到id为0x7f0c006f的视图
我试图从一个片段移动到第二个片段。片段:java.lang.IllegalArgumentException:找不到id为0x7f0c006f的视图,java,android,android-fragments,Java,Android,Android Fragments,我试图从一个片段移动到第二个片段。 它显示以下错误: java.lang.IllegalArgumentException: No view found for id 0x7f0c006f (com.chinatown.wangjian.chinatownbang:id/viewpager) for fragment TwoFragment{10598077 #1 id=0x7f0c006f android:switcher:2131492975:1} 这是我的第一个片段: publi
它显示以下错误:
java.lang.IllegalArgumentException: No view found for id 0x7f0c006f (com.chinatown.wangjian.chinatownbang:id/viewpager) for fragment TwoFragment{10598077 #1 id=0x7f0c006f android:switcher:2131492975:1}
这是我的第一个片段:
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_scrolling, container, false);
// Inflate the layout for this fragment
getActivity().setContentView(R.layout.activity_scrolling);
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) getActivity().findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
return v;
我的第二个片段是这样的:
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
return inflater.inflate(R.layout.fragment_two, container, false);
}
我的编码正确吗?在您的代码中,您似乎应用了两种布局
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
View v = inflater.inflate(R.layout.activity_scrolling, container, false);
//why setContentView?
//getActivity().setContentView(R.layout.activity_scrolling);
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
((AppCompatActivity) getActivity()).setSupportActionBar(toolbar);
FloatingActionButton fab = (FloatingActionButton) getActivity().findViewById(R.id.fab);
fab.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG)
.setAction("Action", null).show();
}
});
return v;
首先,根据您的代码,您并没有调用第一个片段中的第二个片段 像这样将此代码添加到您的第一个片段中
FragmentTransaction fragmentTransaction=getFragmentManager().beginTransaction();
//CREATE OBJECT OF FRAGMENT WHERE YOU WANT TO GO
fragment_2 frag2=new fragment_2();
fragmentTransaction.add(R.id.fragment_container,frag2);
fragmentTransaction.commit();
这就是如何从一个片段中启动下一个片段,并在片段中调用两个布局的方法。如果您使用上述代码,并且仅为片段使用一个布局,则会更好。请看一看,谢谢,这是正确的。我只是复制了Oncreate的内容,忘记了注释setContentView。非常感谢。