Чангвей Яо определил один способ, которым вы можете сделать это, но вот так, как это делают большинство программистов на Android (программно), так как немного легче читать и выяснять, что делают ваши виджеты:
НоВо-первых, удалите implements OnClickListener
из своей Деятельности, так как в этом нет необходимости.
button.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// what you want your button to do when clicked
}
}
editText.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// what you want your EditText to do when clicked
// (such as editText.setText(""))
}
}
Другой способ сделать то же самое - определить android:onClick="insert_method_name_here"
для виджетов, которые вы хотите выполнять при щелчке.В вашем случае, в вашем main.xml (поскольку это то, что вы используете в своей деятельности), вы можете написать что-то вроде ...
<Button android:id="@+id/testButton"
(other attributes you wish to apply to the button)
android:onClick="buttonAction" />
<EditText
(other attributes)
android:onClick="textAction" />
И затем в своей деятельности вы определяете методыbuttonAction(View v)
и textAction(View v)
.Обратите внимание, что эти методы должны быть public void
и принимать единственный аргумент View v
.
(Одним из преимуществ метода XML является то, что вам необязательно определять атрибут android:id
для этихвиджеты, если вам не нужно иметь возможность манипулировать ими или извлекать из них информацию в своем коде (что означает, что вам нужно будет определить android:id
для вашего EditText
, так как вам, вероятно, понадобится ввод данных пользователем))