簡體   English   中英

啟用其他活動的按鈕-嘗試在空對象引用上調用虛擬方法'void android.widget.Button.setEnabled(boolean)'

[英]Enabling button from another activity - Attempt to invoke virtual method 'void android.widget.Button.setEnabled(boolean)' on a null object reference

我已經在Eclipse上使用SQLite創建了登錄名,一旦用戶輸入了詳細信息,它就會檢查數據庫並返回true或false。 如果返回true,則我希望程序啟用“我的帳戶”按鈕,以便當用戶退出登錄表單時,可以訪問“我的帳戶”按鈕。

該按鈕位於activity_main.xml中。

登錄工作正常,只是啟用按鈕即可。

下面的代碼顯示標題中指出的錯誤。 我需要使用意圖嗎?

Login.java

if(success)
            {
                Log.d("login", "user logged");
                Button actBTN=(Button)findViewById(R.id.myaccountbtn);   
                session = true;
                actBTN.setEnabled(session);
            }
            else
            {
                Log.d("login", "user not logged");
            }

據我了解,您有兩個活動:MainActivity和LoginActivity。 問題是您試圖從LoginActivity訪問MainActivity中的按鈕。 Android無法以這種方式工作-您只能訪問從XML擴展到特定活動的當前視圖樹。 因此,我建議您看一下startActivityForResult 。您可以在LoginActivity中處理登錄流程,將結果傳遞回MainActivity,然后根據登錄結果啟用或禁用按鈕。

暫無
暫無

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

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