Кнопка Android: всегда ошибка при добавлении ClickEvent - PullRequest
0 голосов
/ 04 марта 2012

Я создаю кнопку из макета, и она отлично работает (отображается на экране, когда я тестирую).Когда я добавляю событие щелчка для этого Button, я всегда получаю NullPointerException (вы можете увидеть в коде ниже):

   Button b1;
   int REQUEST_CODE =1;

   @Override
   public void onCreate(Bundle savedInstanceState){
    super.onCreate(savedInstanceState);

        b1 = (Button) findViewById(R.id.web_button);        
        b1.setOnClickListener(new OnClickListener() { //ERROR THIS LINE

            public void onClick(View arg0){}
        }); 
        setContentView(R.layout.intent);
   }

Ответы [ 2 ]

3 голосов
/ 04 марта 2012

Вы должны setContentView сначала - перед использованием findViewById - иначе он не знает, где искать ваши кнопки.

Используйте этот порядок:

    @Override
    public void onCreate(Bundle savedInstanceState){
        super.onCreate(savedInstanceState);

        setContentView(R.layout.intent);

        b1 = (Button) findViewById(R.id.web_button);        
        b1.setOnClickListener(new OnClickListener() { //ERROR THIS LINE
            public void onClick(View arg0){
            }
        }); 
    }
2 голосов
/ 04 марта 2012

Вы ищете Button перед настройкой просмотра содержимого. Вам придется сделать это:

 @Override
        public void onCreate(Bundle savedInstanceState){
            super.onCreate(savedInstanceState);

            setContentView(R.layout.intent);
            b1 = (Button) findViewById(R.id.web_button);        
            b1.setOnClickListener(new OnClickListener() { //ERROR THIS LINE
                public void onClick(View arg0){
                }
            }); 


        }
...