我想通过单击另一个button2来发送button1的数据,这在android中是否可行,而不会向用户显示button1?
答案 0 :(得分:0)
您可以通过调用其callOnClick
方法来以编程方式“单击”按钮。
请参阅this以供参考。
答案 1 :(得分:0)
您可以使用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.
}
然后,如果您需要从按钮A调用与按钮B相关的过程,则可以执行以下操作:
buttonA.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
processButtonA();
processButtonB();
}
});