调用findviewbyID时,我在android中得到空指针异常

时间:2018-03-23 17:14:58

标签: android nullpointerexception findviewbyid

<TextView
    android:id="@+id/longitude_val"
    android:layout_width="wrap_content"
    android:layout_height="14dp"
    android:text="Lattitude"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintHorizontal_bias="0.194"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintVertical_bias="0.373" />

您好我很困惑,为什么我在findviewbyId上收到错误 我正在做如下 longitude_val =(TextView)longitude_val.findViewById(R.id.longitude_val);

3 个答案:

答案 0 :(得分:0)

您已为TextView定义了此ID:

android:id="@+id/Lattitude"

这意味着当你使用findViewById时你应该坚持使用该id。您的代码应为:

TextView yourTextView = findViewById(R.id.Lattitude);

答案 1 :(得分:0)

您正在获取NPE,因为您正在尝试查找不存在的元素的ID longitude_val。您在xml布局文件中定义的id是“Lattitude”。您查找此视图的代码应为:

lattitudeTextView = (TextView) longitude_val.findViewById(R.id.Lattitude);

答案 2 :(得分:0)

首先你不应该在你的java代码中以snake_case格式命名对象。使用camelCase。

第二次,你的TextView的id为Lattitude,而你正在尝试将对象分配给longitude_val的id。

试试这个:

longitude_val=(TextView) longitude_val.findViewById(R.id.Lattitude);