Событие onClick не работает в Android Blank Activity - PullRequest
0 голосов
/ 28 сентября 2018

У меня пустое действие в Android Studio, и я выполнил следующие инструкции, но он не работает при запуске программы.

  1. Выберите кнопку и найдите панель свойств / атрибутов направо.
  2. Присвойте имя onClick свойству android: onClick вашей кнопки.

  3. Реализуйте следующий метод в файле Main_Activity:

public void onClick (View view) { Toast.makeText(this, "Button 1 pressed", Toast.LENGTH_LONG).show(); } Когда я пытаюсь запустить это, я получаю ошибки вроде:

  • ожидание объявления члена
  • объявление функции должно иметь имя

Ответы [ 3 ]

0 голосов
/ 28 сентября 2018
Button yourButton = (Button)findViewById(R.id.your_button_id)  
yourButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            Toast.makeText(this, "Button 1 pressed", Toast.LENGTH_LONG).show();
        }
    });

Пожалуйста, попробуйте это на Java.

0 голосов
/ 28 сентября 2018

Использование атрибута XML android:onClick для запуска события щелчка.Нужно только два шага:

1. назначить android:onClick для кнопки, подобной этой:

 <Button 
    android:id="@+id/button" 
    android:layout_width="wrap_content" 
    android:layout_height="wrap_content" 
    android:text="Click me!" 
    android:onClick="btnClicked" />

2 В действии определите функцию с именем btnClicked следующим образом:

   public void btnClicked(View v) { 
            Log.d("MR.bool", "Button1 was clicked "); 
   }

Примечание: не смешивайте это с setOnClickListener, только над двумя шагами.

0 голосов
/ 28 сентября 2018

1) в вашем XML-файле Activity установите свойство onClick кнопки с указанным именем функции android: onClick: "onClick"

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:onClick="onButtonClick"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

2) после этого поместите эту же функцию внутрьваша активность, но с параметром, подобным этому public void onClick (View view)

public void onButtonClick(View view){
   Toast.makeText(this, "Button 1 pressed", Toast.LENGTH_LONG).show();
}

3), когда вы нажимаете кнопку, при условии, что метод вызывается

Примечание: имя функцииможет быть любым, кроме спецификатора доступа, тип возвращаемого значения и параметр должны быть одинаковыми.

...