xml和片段基础知识

时间:2016-12-11 06:09:03

标签: android android-fragments

我对碎片很陌生,并且在让它们正常工作方面遇到了一些麻烦。使用我现在的代码,我的ListView重叠了我的工具栏。当我将工具栏移出framelayout以避免这种情况时,列表视图会停止显示。我的XML:

这是我的MainActivity

<LinearLayout
    android:orientation="horizontal"
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.oenders1.oenders1project3.MainActivity">

    <android.support.v7.widget.Toolbar
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="?attr/colorPrimary"
        android:theme="?attr/actionBarTheme"
        android:minHeight="?attr/actionBarSize"
        android:id="@+id/tbrMain"/>

    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/fragment_container"
        xmlns:android="http://schemas.android.com/apk/res/android"/>

</LinearLayout>

MainFragment

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.oenders1.oenders1project3.MainActivity">

    <LinearLayout
        android:orientation="horizontal"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <TextView
            android:text="@string/empty"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:id="@+id/txtEmpty"
            android:layout_weight="1"/>

        <ListView
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:id="@+id/lstToDo"
            android:layout_weight="1"/>

    </LinearLayout>

</LinearLayout>

和java:

MainFragment mainFragment = new MainFragment();

mainFragment.setArguments(getIntent().getExtras());
getSupportFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container, mainFragment)
            .commit();

很抱歉,如果有人问这个问题。我找不到类似的问题。感谢您提前提供任何帮助!

1 个答案:

答案 0 :(得分:0)

在MainActivity中的onCreate方法中,添加此

Toolbar toolbar = (Toolbar) findViewById(R.id.tbrMain);
setSupportActionBar(toolbar);

您的MainActivity应与此类似

public class MainActivity extends AppCompatActivity {

    android.support.v7.widget.Toolbar toolbar;

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

        toolbar = (Toolbar) findViewById(R.id.tbrMain);
        setSupportActionBar(toolbar);

        MainFragment mainFragment = new MainFragment();

        mainFragment.setArguments(getIntent().getExtras());
        getSupportFragmentManager()
            .beginTransaction()
            .add(R.id.fragment_container, mainFragment)
            .commit();
    }
}

如果已添加,请发布MainActivity类