如何在Java代码中加载Android布局文件,而不是将其静态地放置在主xml布局文件中?

如何在Java代码中加载Android布局文件,而不是将其静态地放置在主xml布局文件中?,java,android,android-layout,android-fragments,android-viewpager,Java,Android,Android Layout,Android Fragments,Android Viewpager,我在下面有一个布局文件(picture\u section\u fragment.xml),我想用Java代码加载它,而不是静态地将它放在主xml布局文件中 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="h

我在下面有一个布局文件(picture\u section\u fragment.xml),我想用Java代码加载它,而不是静态地将它放在主xml布局文件中

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal"
android:id="@+id/pic_sec_frag_id">

<android.support.v4.view.ViewPager
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/pager"
    android:layout_width="match_parent"
    android:layout_height="match_parent" />

<ImageView
    android:layout_width="fill_parent"
    android:layout_height="520dp"
    android:id="@+id/My_Container_1_ID"
    android:scaleType="centerCrop"
    android:layout_alignParentRight="true"
    android:layout_alignParentEnd="true" />

    </LinearLayout>
错误:

12-07 23:31:31.729 23227-23227/?E/AndroidRuntime:java.lang.RuntimeException:无法启动活动组件信息{com.newmoney.night_-life_-now/com.newmoney.night_-life_-now.MainActivity}:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法'void android.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)' 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2693) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:android.app.ActivityThread.access$900(ActivityThread.java:177) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.os.Handler.dispatchMessage(Handler.java:102) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.os.Looper.loop(Looper.java:145) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread.main(ActivityThread.java:5942) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at java.lang.reflect.Method.invoke(本机方法) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at java.lang.reflect.Method.invoke(Method.java:372) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:由以下原因引起:java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“void android.support.v4.view.ViewPager.setAdapter(android.support.v4.view.PagerAdapter)” 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:com.newmoney.night\u life\u now.MainActivity.onCreate(MainActivity.java:45) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.Activity.performCreate(Activity.java:6289) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1119) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2646) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2758) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:android.app.ActivityThread.access$900(ActivityThread.java:177) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread$H.handleMessage(ActivityThread.java:1448) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.os.Handler.dispatchMessage(Handler.java:102) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.os.Looper.loop(Looper.java:145) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at-android.app.ActivityThread.main(ActivityThread.java:5942) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at java.lang.reflect.Method.invoke(本机方法) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:at java.lang.reflect.Method.invoke(Method.java:372) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399) 12-07 23:31:31.729 23227-23227/? E/AndroidRuntime:com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)


如果这是您的片段的布局,那么应该将其膨胀并从中返回


如果这是您的片段的布局,那么应该将其膨胀并从中返回

我发现你错了:)

您的寻呼机已打开

picture\u section\u fragment.xml

文件和您在活动中使用的

activity\u main

所以你没有这个

activity\u main中的寻呼机id

因此,您也必须使用

picture\u section\u fragment.xml
或者您必须将寻呼机添加到
activity\u main
.xml文件

我发现你错了:)

您的寻呼机已打开

picture\u section\u fragment.xml

文件和您在活动中使用的

activity\u main

所以你没有这个

activity\u main中的寻呼机id

因此,您也必须使用

picture\u section\u fragment.xml
或者您必须将寻呼机添加到
activity\u main
.xml文件


谢谢但我想这会把我带到下一期。如何将picture\u section\u fragment.xml放置在主xml文件的特定部分,而不将其静态放置在主xml文件中。例如,我应该通过主活动类中的java代码加载它吗?谢谢!但我想这会把我带到下一期。如何将picture\u section\u fragment.xml放置在主xml文件的特定部分,而不将其静态放置在主xml文件中。例如,我应该通过主活动类中的java代码加载它吗?
public class MainActivity extends AppCompatActivity {
// For this example, only two pages
static final int NUM_ITEMS = 3;
ViewPager mPager;
SlidePagerAdapter mPagerAdapter;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    Button clickButton = (Button) findViewById(R.id.getDirectionsButton);
    clickButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(getApplicationContext(), "Get Directions Pressed", Toast.LENGTH_LONG).show();
        }
    });

    /* Instantiate a ViewPager and a PagerAdapter. */
    mPager = (ViewPager) findViewById(R.id.pager);
    mPagerAdapter = new SlidePagerAdapter(getSupportFragmentManager());
    mPager.setAdapter(mPagerAdapter);
    mPager.setPageTransformer(true, new ZoomOutPageTransformer());
} ............................
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedState) {
    return inflater.inflate(R.layout.picture_segment_fragment, container, false);
}