2011-12-20 2 views
1

私のアプリの寄付メニューを作ろうとしています。私は、ユーザーが寄付をクリックすると、どれだけ多くのボタンが表示されるようになっているのか分かりました。今、同じボタンをもう一度クリックすると金額ボタンが消えてしまいます。私は定期的なDonateButtonを残しておきたい。それをどうやってやろうか?ボタンメニューAndroid

私はすでにここ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; 
     } 
} 

スクリーンショット:

IMAGEのURL (まだ10の評判がない): http://i.stack.imgur.com/AMdhS.png

私が試していることそうです。

  • 「Donate!」というアプリが表示されます。ボタン。 =>
  • ユーザーが[寄付する]をクリックします。ボタン。 =>
  • 「Donate $ 1」、「Donate $ 3」、および「Donate $ 5」というボタンが表示されます。 => 私はここから助けが必要です
  • ユーザーは「寄付$ 1」、「寄付$ 3」、および「寄付$ 5」ボタンを閉じたいと考えています。 =>
  • これらを閉じるには、[寄付する]をクリックします。彼らはそれをすべて開くために使用したボタンでした。 =>
  • "寄付$ 1"、 "寄付$ 3"、 "寄付$ 5"はなくなります。

これらのボタンを複数回開いて閉じることができます。

+0

質問がクリアされていない**同じボタンをもう一度クリックすると金額のボタンが消える**意味は何ですか?スクリーンショットを投稿してください。 –

+0

私は写真を追加して、それをもっと鮮明にしようとしました。それが役に立てば幸い。 :) –

答えて

1

単純な状態変数が行う必要があります。あなたのonClick()として

boolean areButtonAmountVisible = false; 

と、このコード::あなたのフィールドの定義領域でこれを入れ

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); 
    } 
+0

ありがとうございます。私はそれが単純であることを知っていた、私はちょうどそれに私の指を置くことができなかった。 –

1

はこれを試してみてください。

ボタンの可視状態を知るには、getVisibility()メソッドを使用します。

int visibility; 


visibility = button.getVisibility(); 
if(visibility == View.VISIBLE) { 
    button.setVisibility(View.INVISIBLE); 
} else { 
    button.setVisibility(View.VISIBLE); 
} 

ボタンごとにこのようにチェックする必要があります。


もう1つお勧めします。

グローバル変数を使用し、それをノーティファイヤとして使用すると、すべてのボタンクリック機能で以下のコードを使用します。

boolean again = false; 

if (again) { 
    // make all invisible 
    again = false; 
} else { 
    // make all visible 
    again = true; 
} 
+0

応答してくれてありがとう、私はすでに上記の投稿から動作するようになった。私はあなたの助けに感謝します! :) –

+0

私は質問のスクリーンショットと明快さを求めた後、あなたは答えを得ました。 OK。質問をはっきりと投稿することを忘れないでください。 –

+0

どうもありがとう。 :) –

関連する問題