Добавление кнопки
Button b1=(Button) findViewById(R.id.button1);
не добавляет кнопку. Он объявляет и инициализирует экземпляр Button, который ссылается на Button в текущем раздувшемся xml, который имеет идентификатор button1
.
Так что в вашем xml у вас будет где-то
<Button
android:id="@+id/button1"
<!-- other properties -->
/>
Вы можете добавить кнопку программно с помощью
Button bt1 = new Button(this);
// give it properties
Но, как правило, это проще сделать в xml, потому что здесь вам нужно программно задать параметры, свойства и добавить его в раздутый макет
OnClick
Насколько onClick () зависит от того, что, по вашему мнению, является самым простым и лучшим в вашей ситуации. Мне нравится часто объявлять это в xml, но вы можете сделать это несколькими способами. Используя этот метод, вы просто должны быть уверены, что у вас есть такая функция, которая является публичной и принимает только один параметр, и этот параметр должен быть View
public void clickEvent(View v)
{
// code here
}
Я также изменил имя, чтобы ваш xml был похож на
<Button
android:id="@+id/button1"
<!-- other properties -->
android:onClick="clickEvent"/>
Вы также можете установить onClick () в вашей Java с чем-то вроде
Button b1=(Button) findViewById(R.id.button1);
b1.setOnClickListener(new OnClickListener()
{
@Override
public void onClick(View v)
{
// code here
}
});
или
Button b1=(Button) findViewById(R.id.button1);
b1.setOnClickListener(this);
@Override
public void onClick(View v)
{
// code here
}
Обратите внимание, что последний способ, которым вам нужно будет добавить, реализует OnClickListener в вашем объявлении об активности
public class MyActivity extends Activity implements OnClickListener
{
Вы также можете создать свой собственный прослушиватель щелчков, изменив его на
b1.setOnClickListener(myBtnClick);
затем создайте его экземпляр с чем-то вроде
public OnClickListener myBtnClick = new OnClickListener()
{
@Override
public void onClick(View v)
{
// click code here
}
};
Вы можете использовать это для нескольких кнопок и включить идентификатор или проверить параметр View, чтобы узнать, какая кнопка была нажата, или создать отдельных прослушивателей для разных кнопок.