NullPointerException setOnClickListener

时间:2018-09-16 12:13:20

标签: android view bluetooth onclicklistener buttonclick

我正在使用Android Studio中的应用程序,但是在运行它时,出现以下错误:

Caused by: java.lang.NullPointerException: Attempt to invoke virtual method 'void android.widget.Button.setOnClickListener(android.view.View$OnClickListener)' on a null object reference

我该如何解决?

2 个答案:

答案 0 :(得分:0)

检查以下各项是否正确完成:

  1. 您的按钮显示在Java代码随附的适当XML布局中。像这样:

    :root {
        --anchorsFg: #0DAFA4;
    }
    a, a:visited, a:focus, a:active {
        text-decoration: none;
        color: var(--anchorsFg);
        outline: 0;
        font-style: italic;
    
        -webkit-transition: color 250ms ease-in-out;
        -moz-transition: color 250ms ease-in-out;
        -ms-transition: color 250ms ease-in-out;
        -o-transition: color 250ms ease-in-out;
        transition: color 250ms ease-in-out;
    }
    .sliding-middle-out {
        display: inline-block;
        position: relative;
        padding-bottom: 1px;
    }
    .sliding-middle-out:after {
        content: '';
        display: block;
        margin: auto;
        height: 1px;
        width: 0px;
        background-color: transparent;
    
        -webkit-transition: width 250ms ease-in-out, background-color 250ms ease-in-out;
        -moz-transition: width 250ms ease-in-out, background-color 250ms ease-in-out;
        -ms-transition: width 250ms ease-in-out, background-color 250ms ease-in-out;
        -o-transition: width 250ms ease-in-out, background-color 250ms ease-in-out;
        transition: width 250ms ease-in-out, background-color 250ms ease-in-out;
    }
    .sliding-middle-out:hover:after {
        width: 100%;
        background-color: var(--anchorsFg);
        outline: 0;
    }
    #reference {
      margin-top: 20px;
    }
    .sliding-middle-out:before {
      content: attr(data-content);
      display: attr(data-display);
    }
    
  2. 检查此按钮是否已在Java代码中声明和初始化。像这样:

    var anchorsFg = randomColor();
    $( ".sliding-middle-out" ).hover(function(){
        $( ":root" ).css({"--anchorsFg" : anchorsFg});
    });
    
    $( "#reference" ).hover(
     function(){
        $(this).attr("data-content", "Hello World!").attr("data-display", "block").html("");
     },
     function(){
        $(this).attr("data-content", "Reference").attr("data-display", "inline").html("");
     }
    );
    
  3. 检查onClickListner是否已正确设置为此按钮。像这样:

    <Button
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/button_text" />
    

答案 1 :(得分:-1)

请确保在设置侦听器之前,已初始化您的按钮视图(即findViewById或通过依赖项注入)。