首页 > 解决方案 > java.lang.NullPointerException:尝试在空对象上调用虚拟方法 'android.view.View android.view.View.findViewById(int)'

问题描述

为什么我会收到这个错误?这导致我的应用程序崩溃。每次我在我的设备上测试我的应用程序时,logcat 都会显示该错误,我不知道为什么。我对什么是空指针异常有一个合理的理解,并且我已经彻底搜索了与我的类似的问题。我尝试以多种方式重新格式化点击监听器,确保我有正确的视图 ID 等。这是我的代码。

public class GridActivity extends AppCompatActivity {

Button dijkstra;
Button astar;
GridView grid;
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_grid);
    dijkstra = findViewById(R.id.dijkstra);
    astar = astar.findViewById(R.id.astar);
    grid = astar.findViewById(R.id.grid);







    dijkstra.setOnClickListener(new View.OnClickListener( ) {
        @Override
        public void onClick(View v) {


            GridViewe geoView = new GridViewe(GridActivity.this);
            geoView.Dijkstra( );
        }
    });
    astar.setOnClickListener(new View.OnClickListener( ) {

        @Override
        public void onClick(View v) {


            GridViewe geoView = new GridViewe(GridActivity.this);
            geoView.Astar( );

        }
    });


}

public void setContentView(int activity_grid) {
}

@Override
public void onStop() {
    GridViewe geoView = new GridViewe(GridActivity.this);

    if(geoView.dijkstrathread.getStatus()== AsyncTask.Status.RUNNING)
       geoView.dijkstrathread.cancel(true);
    if(geoView.astarthread.getStatus()==AsyncTask.Status.RUNNING){
        geoView.astarthread.cancel(true);
    }

    super.onStop();
}

}

<androidx.constraintlayout.widget.ConstraintLayout 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=".GridActivity">

<GridView
    android:id="@+id/grid"
    android:layout_width="match_parent"
    android:layout_height="match_parent"

/>

<Button
    android:id="@+id/dijkstra"
    android:layout_width="63dp"
    android:layout_height="35dp"
    android:layout_weight="1"
    android:text="DIJKSTRA"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/astar"
    android:layout_width="106dp"
    android:layout_height="27dp"
    android:layout_weight="1"
    android:text="A* (A star)"
    tools:layout_editor_absoluteX="168dp"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

标签: javaandroid

解决方案


推荐阅读