【问题标题】:Private field 'showGuess' never assigned从未分配私有字段“showGuess”
【发布时间】:2020-05-13 18:51:23
【问题描述】:

我已经为按钮 showGuess 初始化并创建了一个监听器。顺便说一句,应用程序崩溃

public class MainActivity extends AppCompatActivity {

private Button showGuess;

public MainActivity(Button showGuess) {
    this.showGuess = showGuess;
}


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

    showGuess.findViewById(R.id.button_name);

    showGuess.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Intent intent = new Intent(MainActivity.this, ShowGuess.class); 
           startActivity(intent);
        }
    });
}
}

这是调试部分中写的错误/警告:

java.lang.NullPointerException:尝试在空对象引用上调用虚拟方法“android.view.View android.widget.Button.findViewById(int)”

【问题讨论】:

    标签: android android-studio android-intent


    【解决方案1】:

    稍微修改一下:

    public class MainActivity extends AppCompatActivity {
    
    private Button showGuess;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        showGuess=findViewById(R.id.button_name);
    
        showGuess.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent intent = new Intent(MainActivity.this, ShowGuess.class); 
               startActivity(intent);
            }
        });
    }
    }
    

    【讨论】:

      猜你喜欢
      • 2012-09-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-08-15
      • 2023-03-28
      • 2013-03-08
      相关资源
      最近更新 更多