空对象引用上的'void android.widget.Button.setOnClickListener(android.view.View $ OnClickListener)'

时间:2019-01-12 21:41:00

标签: java android android-studio button

目前这是一个简单的计时器应用程序,具有两个活动,第一个活动是计时器,第二个活动将用于设置首选项,稍后再使用。

我不确定代码中的问题所在。

我已经看到了一些解决类似错误的方法,但是都没有用。请记住,我对编码非常陌生(这是我的第一个项目),我还没有完全理解所有内容。任何帮助将不胜感激,谢谢!

Logcat错误

 Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference
    at com.example.soswag49.showertimer.MainScreen.onCreate(MainScreen.java:29)
    at android.app.Activity.performCreate(Activity.java:6251)
    at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1107)
    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2369)
    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2476) 
    at android.app.ActivityThread.-wrap11(ActivityThread.java) 
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1344) 
    at android.os.Handler.dispatchMessage(Handler.java:102) 
    at android.os.Looper.loop(Looper.java:148) 
    at android.app.ActivityThread.main(ActivityThread.java:5417) 
    at java.lang.reflect.Method.invoke(Native Method) 
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726) 
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616) 
01-12 14:37:23.916 197-7464/? E/ACDB-LOADER: Error: ACDB AudProc vol returned = -19 
01-12 14:37:29.535 7185-7496/? E/Finsky: [1619] com.google.android.finsky.ar.c.a(27): Unable to build selector: /storage/emulated/0/Download/marketenvs.csv: open failed: ENOENT (No such file or directory)

主屏幕Java,不是全部,而是相关内容。

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


    setFlow.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            moveToSetFlow();
        }
    });

*此处的其他代码

 public void moveToSetFlow(){
        Intent intent = new Intent(MainScreen.this, Flow.class);
        startActivity(intent);
    }
}

主屏幕XML,仅是用于切换活动的按钮

 <Button
        android:id="@+id/setFlow"
        android:layout_width="175dp"
        android:layout_height="wrap_content"
        android:layout_marginTop="8dp"
        android:layout_marginEnd="8dp"
        android:backgroundTint="@android:color/holo_blue_dark"
        android:text="@string/set_shower_flow"
        android:textAlignment="center"
        android:textStyle="bold"
        app:layout_constraintEnd_toStartOf="@+id/historyText"
        app:layout_constraintTop_toBottomOf="@+id/start" />

0 个答案:

没有答案