在我的Android应用中,我可以点按Google +1按钮。
使用开发人员源材料(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对象,它会使加号一个按钮可见,第二个是加号按钮。但这是一种尴尬的用户体验
如何检测用户点击此按钮?
答案 0 :(得分:3)
不要将setOnPlusOneClickListener(或任何侦听器)与SDK 13(可能还有将来的版本)一起使用,它会导致一个错误(单击时按钮上的进度指示器无限旋转)。
答案 1 :(得分: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
}
}
答案 2 :(得分:1)
另外一个按钮提供了一个侦听功能来检测按钮点击。这是代码。
mPlusOneButton.setOnPlusOneClickListener(new PlusOneButton.OnPlusOneClickListener() {
@Override
public void onPlusOneClick(Intent intent) {
Log.w(tag,"plus one click");
}
});