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

时间:2013-12-28 10:01:04

标签: android android-preferences google-plus-one

更新:我发现这是我的问题https://code.google.com/p/google-plus-platform/issues/detail?id=704

前段时间我在我的应用中实施了+1按钮作为首选项。 它运作良好,直到几周,现在按钮总是灰色。如果我触摸它,我会得到“加载”圆圈,它永远不会停止旋转。

我调试了我的应用并确保调用了初始化。

是否有其他人遇到过问题?

感谢。

我的偏好代码:

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"/>

2 个答案:

答案 0 :(得分:2)

所以我遇到了这个问题,因为Google加上一个图标会像你说的那样保持灰色,直到重新加载首选项视图(即导航到其他地方然后再回来,让首选项滚出屏幕然后返回,等等)。问题是因为您需要在具有Plus One Button的活动的onResume()函数中调用mPlusOneButton.initialize()。所以基本上,我只是在首选项中创建了一个public方法,进行初始化调用,然后在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);
    }
}

答案 1 :(得分:1)

Google Play Services 4.1似乎已修复此问题。