Android +;1按钮停止工作,始终为灰色

Android +;1按钮停止工作,始终为灰色,android,android-preferences,google-plus-one,Android,Android Preferences,Google Plus One,更新:我发现这是我的问题 不久前,我在我的应用程序中实现了+1按钮作为首选项。 它在几周前一直运行良好,现在按钮总是灰色的。如果我触摸它,我会看到“加载”循环,它永远不会停止旋转 我已经调试了我的应用程序,并确保调用了initialize 还有其他人对此有问题吗 谢谢 我的偏好代码: public class PlusOnePreference extends Preference { public PlusOnePreference(Context context) { super

更新:我发现这是我的问题

不久前,我在我的应用程序中实现了+1按钮作为首选项。 它在几周前一直运行良好,现在按钮总是灰色的。如果我触摸它,我会看到“加载”循环,它永远不会停止旋转

我已经调试了我的应用程序,并确保调用了initialize

还有其他人对此有问题吗

谢谢

我的偏好代码:

public class PlusOnePreference extends Preference { 

public PlusOnePreference(Context context) {
    super(context);     
}

public PlusOnePreference(Context context, AttributeSet attrs) {
    super(context, attrs);
}

public PlusOnePreference(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
}

@Override
protected void onBindView(View view) {
    super.onBindView(view);
    PlusOneButton plusOneButton = (PlusOneButton)view.findViewById(R.id.plus_one_button);
    plusOneButton.initialize(URL, PLUS_ONE_REQUEST_CODE);
}
}
我的首选布局:

<?xml version="1.0" encoding="utf-8"?>
<com.google.android.gms.plus.PlusOneButton xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:plus="http://schemas.android.com/apk/lib/com.google.android.gms.plus"
android:id="@+id/plus_one_button"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:focusable="false"
android:descendantFocusability="blocksDescendants"
plus:size="standard" 
plus:annotation="inline"/>


这似乎在Google Play Services 4.1中得到了修复。

因此我遇到了问题,因为Google plus one图标会像您所说的那样保持灰色,直到重新加载首选项视图(即导航到其他位置,然后返回,让首选项从屏幕中滚动出来,然后返回,等等)。问题是,您需要在具有加一按钮的活动的onResume()函数中调用mPlusOneButton.initialize()。基本上,我只是在preference中创建了一个公共方法来进行初始化调用,然后在onResume()函数中调用它

活动:

Preference preference; 
@Override
public void onResume()
{
    super.onResume();
    if(preference!= null)
    {
        preference.reloadGooglePlusOneButton();
    }

}
优先选择:

public void reloadGooglePlusOneButton()
{
    if(mPlusOneButton != null)
    {
        mPlusOneButton.initialize(URL, PLUS_ONE_REQUEST_CODE);
    }
}