This question already has answers here:
What is a NullPointerException, and how do I fix it?

(12个答案)


3年前关闭。




我在我的 Activity 布局之一中使用TableLayout。但是当我尝试在 Lollipop 上运行相同的 Activity 时,它崩溃了。

它可以完美地在棉花糖和牛轧糖上使用。

当我尝试删除TableLayout(ONLY)后运行它时,它在Lollipop中也能正常工作。

我试着删除 Activity 上的所有Java代码,它有同样的问题。

我的崩溃报告



版式:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    xmlns:app="http://schemas.android.com/tools"
    xmlns:design="http://schemas.android.com/apk/res-auto"
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

<include android:id="@+id/toolbar"
    layout="@layout/top_bar"/>
<ScrollView
    android:id="@+id/productscrollview"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:ignore="UselessParent"
    android:layout_below="@id/toolbar">
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp">

        <TextView
            android:id="@+id/offeringNmae"
            android:textStyle="normal"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginEnd="20dp"
            android:layout_marginBottom="20dp"
            android:textSize="23sp"
            android:textColor="@color/lildark"
            android:text="Name of Offering" />
        <TextView
            android:id="@+id/terms"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="@string/orderTerms"
            android:layout_below="@id/offeringNmae"
            android:textSize="10sp"
            android:layout_marginBottom="5dp"/>



        <TableLayout
            android:id="@+id/orderDetails"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="1"
            android:background="@drawable/cell_shape"
            android:layout_below="@id/terms"
            android:layout_marginBottom="10dp">
            <TableRow
                android:paddingTop="10dp"
                android:paddingBottom="10dp">
                <TextView
                    android:layout_column="1"
                    android:text="Details"
                    android:layout_marginStart="15dp"
                    android:textStyle="bold"/>
            </TableRow>
            <View
                android:layout_height="1dp"
                android:background="@color/lightGray"/>
            <TableRow
                android:paddingTop="10dp"
                android:paddingBottom="10dp">
                <TextView
                    android:id="@+id/orderName"
                    android:layout_column="1"
                    android:padding="3dip"
                    android:layout_marginStart="15dp"/>
                <TextView
                    android:id="@+id/quantity"
                    android:layout_column="2"
                    android:gravity="end"
                    android:padding="3dip"/>
                <TextView
                    android:id="@+id/price"
                    android:layout_column="3"
                    android:gravity="end"
                    android:padding="3dip"
                    android:layout_marginEnd="15dp"/>
            </TableRow>

            <View
                android:layout_height="1dp"
                android:background="@color/lightGray"/>
            <TableRow
                android:paddingTop="10dp"
                android:paddingBottom="10dp">
                <TextView
                    android:layout_column="1"
                    android:padding="3dip"
                    android:text="Total Amount"
                    android:layout_marginStart="15dp"/>
                <TextView
                    android:layout_column="3"
                    android:id="@+id/totalamount"
                    android:gravity="right"
                    android:padding="3dip"
                    android:layout_marginEnd="15dp"/>
            </TableRow>

        </TableLayout>
        <TableLayout
            android:id="@+id/orderAddress"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="1"
            android:background="@drawable/cell_shape"
            android:layout_below="@id/orderDetails"
            android:layout_marginBottom="10dp">
            <TableRow
                android:paddingTop="10dp"
                android:paddingBottom="10dp">
                <TextView
                    android:layout_column="1"
                    android:padding="3dip"
                    android:text="Pickup Address"
                    android:layout_marginStart="15dp"
                    android:textStyle="bold"/>

            </TableRow>
            <View
                android:layout_height="1dp"
                android:background="@color/lightGray"/>
            <TableRow
                android:paddingTop="10dp"
                android:paddingBottom="10dp">

                <TextView
                    android:layout_column="1"
                    android:id="@+id/address"
                    android:layout_height="fill_parent"
                    android:layout_width="wrap_content"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"/>
            </TableRow>
        </TableLayout>
        <TableLayout
            android:id="@+id/chefNote"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:stretchColumns="1"
            android:background="@drawable/cell_shape"
            android:layout_below="@id/orderAddress">
            <TableRow
                android:paddingTop="10dp"
                android:paddingBottom="10dp">
                <TextView
                    android:layout_column="1"
                    android:padding="3dip"
                    android:text="Note For Chef"
                    android:layout_marginStart="15dp"
                    android:textStyle="bold"/>

            </TableRow>
            <View
                android:layout_height="1dp"
                android:background="@color/lightGray"/>
            <TableRow
                android:paddingTop="10dp"
                android:paddingBottom="10dp">

                <TextView
                    android:layout_column="1"
                    android:id="@+id/ChefNote"
                    android:layout_height="fill_parent"
                    android:layout_width="wrap_content"
                    android:layout_marginLeft="15dp"
                    android:layout_marginRight="15dp"/>
            </TableRow>
        </TableLayout>


    </RelativeLayout>
</ScrollView>
<android.support.design.widget.BottomNavigationView
    android:id="@+id/bottom_navigation"
    android:layout_height="60dp"
    android:layout_width="match_parent"
    android:layout_alignParentBottom="true"
    app:itemBackground="@color/defaultText"
    android:background="@color/defaultText"
    android:paddingRight="10dp"
    android:paddingLeft="10dp">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:gravity="center_horizontal"
        android:weightSum="2">

        <Button
            android:id="@+id/bookbottom"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:gravity="center"
            android:text="@string/PayNow"
            android:layout_weight="1"
            android:background="@drawable/buttonstyledefaultcolor"
            android:layout_gravity="center"
            android:textColor="@color/colorPrimary"
            android:padding="0dp"
            android:layout_marginTop="2dp"/>
    </LinearLayout>


</android.support.design.widget.BottomNavigationView>
public class order_verification_activity extends AppCompatActivity {
    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_order_verification);
    }
}

最佳答案

既然您说过删除了所有Java代码,那么我会提出一些建议(将其写在答案中以使其适合)。
您的代码中有一个<View>内的<TableLayout>,我怀疑是错误的,请尝试调整您的代码来满足此要求(您在更多地方有相同的事物,请全部更改):

<TableLayout
                android:id="@+id/orderDetails"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:stretchColumns="1"
                android:background="@drawable/cell_shape"
                android:layout_below="@id/terms"
                android:layout_marginBottom="10dp">
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:layout_column="1"
                        android:text="Details"
                        android:layout_marginStart="15dp"
                        android:textStyle="bold"/>
                </TableRow>
                <View
                    android:layout_height="1dp"
                    android:background="@color/lightGray"/>
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:id="@+id/orderName"
                        android:layout_column="1"
                        android:padding="3dip"
                        android:layout_marginStart="15dp"/>
                    <TextView
                        android:id="@+id/quantity"
                        android:layout_column="2"
                        android:gravity="end"
                        android:padding="3dip"/>
                    <TextView
                        android:id="@+id/price"
                        android:layout_column="3"
                        android:gravity="end"
                        android:padding="3dip"
                        android:layout_marginEnd="15dp"/>
                </TableRow>
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:layout_column="1"
                        android:padding="3dip"
                        android:text="Total Amount"
                        android:layout_marginStart="15dp"/>
                    <TextView
                        android:layout_column="3"
                        android:id="@+id/totalamount"
                        android:gravity="right"
                        android:padding="3dip"
                        android:layout_marginEnd="15dp"/>
                </TableRow>

            </TableLayout>
            <TableLayout
                android:id="@+id/orderAddress"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:stretchColumns="1"
                android:background="@drawable/cell_shape"
                android:layout_below="@id/orderDetails"
                android:layout_marginBottom="10dp">
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:layout_column="1"
                        android:text="Pickup Address"
                        android:layout_marginStart="15dp"
                        android:textStyle="bold"/>
                </TableRow>
                <View
                    android:layout_height="1dp"
                    android:background="@color/lightGray"/>
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:id="@+id/address"
                        android:layout_column="1"
                        android:padding="3dip"
                        android:layout_marginStart="15dp"/>
                </TableRow>
            </TableLayout>
            <TableLayout
                android:id="@+id/noteForCheifa"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:stretchColumns="1"
                android:background="@drawable/cell_shape"
                android:layout_below="@id/orderAddress"
                android:layout_marginBottom="10dp">
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:layout_column="1"
                        android:text="Note For Chef"
                        android:layout_marginStart="15dp"
                        android:textStyle="bold"/>
                </TableRow>
                <View
                    android:layout_height="1dp"
                    android:background="@color/lightGray"/>
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:id="@+id/ChefNote"
                        android:layout_column="1"
                        android:padding="3dip"
                        android:layout_marginStart="15dp"/>
                </TableRow>
            </TableLayout>



            <TableLayout
                android:id="@+id/paymentmode"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:stretchColumns="1"
                android:background="@drawable/cell_shape"
                android:layout_below="@id/noteForCheifa"
                android:layout_marginBottom="90dp">
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <TextView
                        android:layout_column="1"
                        android:text="Select Payment Method"
                        android:layout_marginStart="15dp"
                        android:textStyle="bold"/>
                </TableRow>
                <View
                    android:layout_height="1dp"
                    android:background="@color/lightGray"/>
                <TableRow
                    android:paddingTop="10dp"
                    android:paddingBottom="10dp">
                    <RadioGroup
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:id="@+id/RGroup">
                        <RadioButton
                            android:id="@+id/SelectTezUpi"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="@string/Tez"
                            android:buttonTint="@color/colorPrimary"/>
                        <RadioButton
                            android:id="@+id/paytm"
                            android:layout_width="match_parent"
                            android:layout_height="wrap_content"
                            android:text="Paytm"
                            android:buttonTint="@color/colorPrimary"/>
                    </RadioGroup>

                </TableRow>
            </TableLayout>

关于android - Android Lollipop上的TableLayout崩溃应用程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/47589895/

10-12 06:17