Click here to Skip to main content
15,920,217 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
I finished the code, but when i Debug there was an error of this :
buttons[i][j].setOnClickListener(this);

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

How can i fix that?

What I have tried:

package w17105_anhduy.caro;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.TextView;
import android.widget.Toast;


public class Gamescreen extends AppCompatActivity implements View.OnClickListener 
{
    private Button[][]buttons= new Button[3][3];
    private boolean player1turn=true;
    private int roundCount;

    private int player1point;
    private int player2point;

    private TextView textViewPlayer1;
    private TextView textViewPlayer2;

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

        textViewPlayer1=findViewById(R.id.text_view_p1);
        textViewPlayer2=findViewById(R.id.text_view_p2);

        for (int i=0;i<3;i++){
              for(int j=0;j<3;j++) {
                String buttonID = "button_" + i + j;
                int resID = getResources().getIdentifier(buttonID, "id", getPackageName());
                buttons[i][j] = findViewById(resID);
                buttons[i][j].setOnClickListener(this);
               }
        }
        Button buttonReset=findViewById(R.id.button_reset);
        buttonReset.setOnClickListener(new View.OnClickListener() 
        {
            @Override
            public void onClick(View view) 
            {
            }
        });
    }
}
Posted
Updated 18-Jun-18 3:44am
v2
Comments
David Crow 18-Jun-18 9:47am    
1) What is the value of resID?
2) What does findViewById() return?

1 solution

Perhaps it should be
buttons[i][j] = findViewById(R.id.resID);
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900