Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到id为的视图。。。用于片段(Android应用程序)_Java_Android_Android Fragments - Fatal编程技术网

Java 找不到id为的视图。。。用于片段(Android应用程序)

Java 找不到id为的视图。。。用于片段(Android应用程序),java,android,android-fragments,Java,Android,Android Fragments,当我试图调用片段布局时,我遇到了以下错误。这是代码 主要活动 public class MainActivity extends Activity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); } public void showFragOne

当我试图调用片段布局时,我遇到了以下错误。这是代码

主要活动

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}

public void showFragOne(View view){
    FragmentManager FM = getFragmentManager();
    FragmentTransaction FT = FM.beginTransaction();
    FT.add(R.layout.frag_one, new FragOne());
    FT.commit();
}
}

当按钮单击主布局时,将调用showFragOne。 frag_one是FragOne碎片的布局 片段类

public class FragOne extends Fragment{
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
        Bundle savedInstanceState) {
    // TODO Auto-generated method stub
    View view = inflater.inflate(R.layout.frag_one, container, false);
    return view;
}
}

请帮我解决这个问题。

您调用add的方式是错误的。第一个参数是将承载片段的视图组的id,而不是片段本身的布局。比如说

FT.add(android.R.id.content, new FragOne());

如何找到要承载的视图的id?默认情况下,希望片段在主活动中的最后一个控件之后添加。通常在要处理片段的布局中声明它。它可能是一个用于实例的框架布局,请您更清楚一点。例如,正如您所说,我在activity_main中添加了FrameLayout。此FrameLayout本身没有任何id。它必须与其中一个视图进行映射。那么,如何在FragmentTransaction.add.中提供此FrameLayout的Id,然后给它一个Id并使用它呢