我可以为一个按钮设置两种不同的onclick方法

时间:2017-01-19 13:04:28

标签: java android

我想知道是否有可能为一个buttton设置两个onclick方法..我试图有一个按钮可以打开一个新活动并将一个id令牌发送到服务器以用于firebase目的,如果可能的话我该如何去在android studio上关于它

3 个答案:

答案 0 :(得分:1)

我认为你的基本概念是错误的。

按钮对点击做出反应。

" ActionListener"在该点击触发...可以做任何想做的事情。没有(概念上)阻止您在代码中触发各种事物。当然,您必须了解自己在做什么(例如:不要长时间阻止UI线程;或者如何在后台线程中解决问题,等等)。

答案 1 :(得分:0)

一个按钮,因此您只应用一个 onClick侦听器执行按钮作业。

在你的onClick方法中,如果你想在不牺牲代码管理的情况下做多件事,你可以调用另一个(私有)方法。

button.setOnClickListener(new View.OnClickListener() {

    @Override
    public void onClick(View view) {
        sendTokenToServer();
        // Include your code to open the activity here or outsource it again into another private method
    }
});

您将令牌发送到服务器的方法:

private void sendTokenToServer() {
    // Your code here.
}

答案 2 :(得分:0)

不。 Button只有一种onClick方法。但是您仍然可以通过一个按钮执行两种不同的目的。 我正在使用一个按钮来隐藏和显示线性布局。代码如下:

final int[] count = {2};
//here startTopics is the button....
 startTopics.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                if(count[0] %2==0)
                {
                    topicLin.setVisibility(View.VISIBLE);
                    count[0]++;
                }
                else
                {
                    topicLin.setVisibility(View.GONE); 
                                  //here topicLin is the linear layout
                    count[0]++;
                }

            }
        });