2015-09-06 45 views
2

我正在開發Android應用程序與G +作爲SSO(單點登錄)功能,下面這個文檔https://developers.google.com/identity/sign-in/android/sign-in編輯G +登錄按鈕文本編程在Android

以我爲例,我需要在創建符號並簽署了在單個按鈕。當用戶登錄時,我需要將按鈕文本更改爲「退出」。但是

SignInButton gPlusLoginButton = (SignInButton) findViewById(R.id.btGplus); 
// login implementation 
gPlusLoginButton.setText("Sign Out"); 

但是SignInButton沒有.setText方法。

回答

0

以下是執行此操作的一種巧妙方法,即在對象內搜索可編輯視圖。

protected void setButtonText(SignInButton signInButton, String buttonText) { 
    for (int i = 0; i < signInButton.getChildCount(); i++) { 
     View v = signInButton.getChildAt(i); 

     // if the view is instance of TextView then change the text SignInButton 
     if (v instanceof TextView) { 
      TextView tv = (TextView) v; 
      tv.setText(buttonText); 
      return; 
     } 
    } 
} 

因此,實施,只要致電:

SignInButton gPlusLoginButton = (SignInButton) findViewById(R.id.btGplus); 
// login implementation 
setButtonText(gPlusLoginButton, "Sign Out"); 

帽尖到http://www.pcsalt.com/android/change-text-of-google-plus-signinbutton-android/

0

試試這個代碼:

TextView textView = (TextView) signInButton.getChildAt(0); 
textView.setText("Your Text");