2

在我的 Android 应用程序中,我可以点击 Google +1 按钮。

这适用于developpers源材料(https://developers.google.com/+/mobile/android/recommend)中的以下代码:

mPlusClient = new PlusClient.Builder(this, this, this)
    .clearScopes()
    .build();  

mPlusOneButton = (PlusOneButton) findViewById(R.id.plus_one_button);

现在我想检测用户何时点击此按钮,所以我尝试了这个:

mPlusOneButton.setOnClickListener(new OnClickListener() {
    public void onClick(View v) {                   
        Toast.makeText(this, "Thanks for your +1", Toast.LENGTH_LONG).show();
    }
});

但它什么也不做,它不显示吐司消息。

作为替代方案,我正在考虑让玩家在按钮上点击两次:首先是一个常规的 Button 对象,它可以使加一按钮可见,第二个是加一按钮。但这是一种尴尬的用户体验

如何检测用户对此按钮的点击?

4

3 回答 3

3

不要将 setOnPlusOneClickListener (或任何侦听器)与 SDK 13(可能还有未来版本)一起使用,它会引发错误(当您单击 +1 按钮时,进度指示器会无限旋转)。

于 2013-11-07T14:49:56.633 回答
2

使用 ActivityForResult 触发用户选择。

mPlusOneButton.setOnPlusOneClickListener(new PlusOneButton.OnPlusOneClickListener() {
                @Override
                public void onPlusOneClick(Intent intent) {
                    startActivityForResult(intent, 0);
                }
            });

检查结果代码

@Override
public void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (resultCode == -1) {
      // OK or SHARE

    } else {
      //UNDO

    }

}
于 2015-09-26T07:09:09.857 回答
1

另外一个按钮提供了一个监听器函数来检测按钮点击。这是代码。

    mPlusOneButton.setOnPlusOneClickListener(new PlusOneButton.OnPlusOneClickListener() {
        @Override
        public void onPlusOneClick(Intent intent) {
            Log.w(tag,"plus one click");

        }
    });
于 2013-07-24T17:00:01.390 回答