如何在一个按钮旁边单击另一个按钮而不显示它?

时间:2019-06-28 21:57:22

标签: java android button

我想通过单击另一个button2来发送button1的数据,这在android中是否可行,而不会向用户显示button1?

2 个答案:

答案 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();
    } 
});