簡體   English   中英

我可以為一個按鈕設置兩種不同的 onclick 方法嗎

[英]can I have two different onclick methods for one button

我想知道一個按鈕是否可以有兩個 onclick 方法..我試圖有一個按鈕可以打開一個新的活動並向服務器發送一個 id 令牌以用於 firebase 目的,如果可能的話,我該怎么做安卓工作室

我認為你的基本概念是錯誤的。

按鈕對點擊做出反應。

在點擊時觸發的“ActionListener”......可以做任何它想做的事情。 沒有什么(概念上)可以阻止您在代碼中觸發各種事情。 當然,您必須了解自己在做什么(例如:不要長時間阻塞 UI 線程;或者如何在后台線程中啟動事物,等等)。

它是一個按鈕,因此您應該只應用一個執行按鈕工作的 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.
}

不可以。一個按鈕只有一個 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]++;
                }

            }
        });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM