我正在尝试为我的应用制作一个捐赠菜单。我已经弄明白了,当用户点击捐赠时,会出现更多按钮说明捐了多少。现在,如果他们再次单击同一个按钮,我希望能够让数量按钮消失。我希望保留常规的 DonateButton。我怎么会这样做?
我已经使用 purchaseButton.setVisibility(View.GONE);
这里是点击按钮和其他按钮出现的代码:
public void onClick(View v) {
switch (v.getId()) {
case R.id.DonateButton:
purchaseButton.setVisibility(View.VISIBLE);
purchaseButton2.setVisibility(View.VISIBLE);
purchaseButton3.setVisibility(View.VISIBLE);
case R.id.Donate:
if(BillingHelper.isBillingSupported()){
BillingHelper.requestPurchase(mContext, "donate");
// android.test.purchased or android.test.canceled or android.test.refunded
} else {
Log.i(TAG,"Can't purchase on this device");
}
break;
default:
// nada
Log.i(TAG,"default. ID: "+v.getId());
break;
case R.id.Donatetwo:
if(BillingHelper.isBillingSupported()){
BillingHelper.requestPurchase(mContext, "donate2");
// android.test.purchased or android.test.canceled or android.test.refunded
} else {
Log.i(TAG,"Can't purchase on this device");
}
break;
case R.id.Donatethree:
if(BillingHelper.isBillingSupported()){
BillingHelper.requestPurchase(mContext, "donate3");
// android.test.purchased or android.test.canceled or android.test.refunded
} else {
Log.i(TAG,"Can't purchase on this device");
}
break;
}
}
我的意思截图:
图片网址(还没有 10 个信誉): http://i.stack.imgur.com/AMdhS.png
我想说的是。
- 应用出现时只显示“捐款!”按钮。 =>
- 用户点击“捐款!”按钮。 =>
- “捐赠 1 美元”、“捐赠 3 美元”和“捐赠 5 美元”按钮出现。 => 我需要这里的帮助
- 用户想要关闭“捐赠 1 美元”、“捐赠 3 美元”和“捐赠 5 美元”按钮。 =>
- 要关闭它们,他们点击“捐赠!”这是他们用来打开它的按钮。 =>
- “捐赠 1 美元”、“捐赠 3 美元”和“捐赠 5 美元”消失。
不过,我希望它仍然允许他们不止一次地打开和关闭这些按钮。
最佳答案
一个简单的状态变量就可以了。
将其放入您的字段定义区域:
boolean areButtonAmountVisible = false;
并将此代码作为您的onClick()
:
case R.id.DonateButton:
if( areButtonAmountVisible )
{
areButtonAmountVisible = false;
purchaseButton.setVisibility(View.GONE);
purchaseButton2.setVisibility(View.GONE);
purchaseButton3.setVisibility(View.FONE);
}
else
{
areButtonAmountVisible = true;
purchaseButton.setVisibility(View.VISIBLE);
purchaseButton2.setVisibility(View.VISIBLE);
purchaseButton3.setVisibility(View.VISIBLE);
}
关于android - 按钮菜单安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8573184/