简体   繁体   中英

Layout not showing up when using intent to start new activity

I have a fragment class with 6 hard-coded cardviews. I want the user to be able to click on them and it open up another activity. Each opens to different activity. Currently, when the user clicks on the cardview it opens the new activity, but doesn't show the layout. For example, when the user clicks on the science cardview it just shows a blank page, but doesn't show the layout with the button.

Here is my fragment page code:

public class show_class extends Fragment implements 
View.OnClickListener {
private CardView science_cv, math_cv, social_studies_cv, english_cv, 
tech_cv, other_cv;
private DatabaseReference myRef ;
//List<show_class> list;
// private RecyclerView recycle;
// Button view;
public show_class() {

}

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
                         Bundle savedInstanceState) {
    View view = inflater.inflate(R.layout.activity_show_class, container, false);

    //find cardview's by ids

    science_cv = (CardView) view.findViewById(R.id.science);
    math_cv = (CardView) view.findViewById(R.id.math);
    social_studies_cv = (CardView) view.findViewById(R.id.social_studies);
    english_cv = (CardView) view.findViewById(R.id.English);
    tech_cv = (CardView) view.findViewById(R.id.tech);
    other_cv= (CardView) view.findViewById(R.id.other);
    //set onclicklistener to cardviews
    science_cv.setOnClickListener(this);
    social_studies_cv.setOnClickListener(this);
    math_cv.setOnClickListener(this);
    english_cv.setOnClickListener(this);
    tech_cv.setOnClickListener(this);
    other_cv.setOnClickListener(this);

    return view;




}
public void onClick (View v){
    Intent i;
    switch (v.getId()) {
        case R.id.science:
            i = new Intent(getContext(), Science_classes.class);
        case R.id.math: i = new Intent(getContext(), Math_classes.class);startActivity(i);break;
        case R.id.social_studies: i = new Intent(getContext(), Social_studies_classes.class);startActivity(i);break;
        case R.id.English: i = new Intent(getContext(), English_classes.class);startActivity(i);break;
        case R.id.tech: i = new Intent(getContext(), Technology_classes.class);startActivity(i);break;
        case R.id.other: i = new Intent(getContext(), Other_classes.class);startActivity(i);break;
        default:break;
    }
}

}

Here is my xml for the fragment page:

<FrameLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent" android:layout_height="match_parent">
<ScrollView
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:background="#a4a4a4">
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="vertical">
        <LinearLayout
            android:clipToPadding="false"
            android:gravity="center"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.v7.widget.CardView
                android:clickable="true"
                android:focusable="true"
                android:foreground="?android:selectableItemBackground"

                android:id="@+id/science"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:padding="0dp">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:orientation="vertical">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:gravity="center"
                        android:background="@color/colorSecondary">
                        <ImageView
                            android:layout_width="64dp"
                            android:layout_height="64dp"
                            android:src="@drawable/ic_launcher_background"
                            android:padding="10dp"/>
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Science"
                        android:textColor="#000"
                        android:textSize="18dp" />
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:background="@color/lightgray"
                        android:layout_margin="2dp"/>


                </LinearLayout>
            </android.support.v7.widget.CardView>
            <android.support.v7.widget.CardView
                android:onClick="show2"
                android:foreground="?android:attr/selectableItemBackground"
                android:clickable="true"
                android:id="@+id/math"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:padding="0dp">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:orientation="vertical">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:gravity="center"
                        android:background="@color/colorSecondary">

                        <ImageView
                            android:layout_width="64dp"
                            android:layout_height="64dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_launcher_background" />
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Math"
                        android:textColor="#000"
                        android:textSize="18dp" />
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:background="@color/lightgray"
                        android:layout_margin="2dp"/>

                </LinearLayout>
            </android.support.v7.widget.CardView>

        </LinearLayout>
        <LinearLayout
            android:clipToPadding="false"
            android:gravity="center"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.v7.widget.CardView
                android:onClick="show3"
                android:foreground="?android:attr/selectableItemBackground"
                android:clickable="true"
                android:id="@+id/English"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:padding="0dp">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:orientation="vertical">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:gravity="center"
                        android:background="@color/colorSecondary">

                        <ImageView
                            android:layout_width="64dp"
                            android:layout_height="64dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_launcher_background" />
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="English"
                        android:textColor="#000"
                        android:textSize="18dp" />
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:background="@color/lightgray"
                        android:layout_margin="2dp"/>
                    />
                </LinearLayout>
            </android.support.v7.widget.CardView>
            <android.support.v7.widget.CardView
                android:onClick="show4"
                android:foreground="?android:attr/selectableItemBackground"
                android:clickable="true"
                android:id="@+id/social_studies"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:padding="0dp">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:orientation="vertical">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:gravity="center"
                        android:background="@color/colorSecondary">

                        <ImageView
                            android:layout_width="64dp"
                            android:layout_height="64dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_launcher_background" />
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Social Studies"
                        android:textColor="#000"
                        android:textSize="18dp" />
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:background="@color/lightgray"
                        android:layout_margin="2dp"/>


                </LinearLayout>
            </android.support.v7.widget.CardView>

        </LinearLayout>
        <LinearLayout
            android:clipToPadding="false"
            android:gravity="center"
            android:orientation="horizontal"
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.v7.widget.CardView
                android:onClick="show5"
                android:foreground="?android:attr/selectableItemBackground"
                android:clickable="true"
                android:id="@+id/tech"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:padding="0dp">
                <LinearLayout

                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:orientation="vertical">
                    <LinearLayout
                        android:background="@color/colorSecondary"
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:gravity="center"
                       >
                        <ImageView
                            android:layout_width="64dp"
                            android:layout_height="64dp"
                            android:src="@drawable/ic_launcher_background"
                            android:padding="10dp"/>
                    </LinearLayout>

                    <TextView
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Technology"
                        android:textColor="#000"
                        android:textSize="18dp" />
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:background="@color/lightgray"
                        android:layout_margin="2dp"/>
                </LinearLayout>
            </android.support.v7.widget.CardView>
            <android.support.v7.widget.CardView
                android:onClick="show6"
                android:foreground="?android:attr/selectableItemBackground"
                android:clickable="true"
                android:id="@+id/other"
                android:layout_width="160dp"
                android:layout_height="190dp"
                android:layout_margin="10dp"
                android:padding="0dp">
                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:gravity="center"
                    android:orientation="vertical">
                    <LinearLayout
                        android:layout_width="match_parent"
                        android:layout_height="130dp"
                        android:gravity="center"
                        android:background="@color/colorSecondary">

                        <ImageView
                            android:layout_width="64dp"
                            android:layout_height="64dp"
                            android:padding="10dp"
                            android:src="@drawable/ic_launcher_background" />
                    </LinearLayout>

                    <TextView

                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="Other"
                        android:textColor="#000"
                        android:textSize="18dp" />
                    <View
                        android:layout_width="match_parent"
                        android:layout_height="1dp"
                        android:background="@color/lightgray"
                        android:layout_margin="2dp"/>



                </LinearLayout>
            </android.support.v7.widget.CardView>

        </LinearLayout>
    </LinearLayout>
</ScrollView></FrameLayout>

Here is the code for the science class i am trying to go to(it is the same for all):

public class Science_classes extends AppCompatActivity {

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

Here is the xml, just a simple button:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".Science_classes">

<Button
    android:id="@+id/button4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:text="Button" />

there is a missing startActivity(i); and break; statement in the first case case R.id.science: that is the reason that after clicking science you are ending up with maths case and starting a maths activity. Will have to check if that is the problem of the blank screen. Is you maths activity layout empty?

'in your show_class fragment in onClick() you are not starting the Science_classes activity like.' 'in first case of R.id.science'

startActivity(i);

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM