Вы можете сделать это, используя View.performClick () или View.callOnClick () .
Но вы должны вернуться к своему коду.Разве код внутри кнопок может быть рефакторирован к методам?Разве код можно использовать повторно, можно вспомнить в другой кнопке?
То, что вы сейчас кодируете, возможно, примерно так:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
buttonA.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// do process when button A clicked.
}
});
buttonB.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// do process when button B clicked.
}
});
...
}
Вы можете изменить внутреннюю часть каждой из ваших кнопок на методы, примерно так:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
...
buttonA.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// do process when button A clicked.
processButtonA();
}
});
buttonB.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// do process when button B clicked.
processButtonB();
}
});
...
}
private void processButtonA() {
// something here.
}
private void processButtonB() {
// something here.
}
затем, если вам нужно вызвать процесс, связанный с кнопкой B, с кнопки A, вы можете сделать следующее:
buttonA.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
processButtonA();
processButtonB();
}
});