2012-01-23 16 views
1

私はAndroid開発の半完成です。私はクリックされたとき(効果的にトグル)2つの異なるメソッドを持つボタンを持つプロジェクトを設計する準備が整いました。私はOnClickListenerを自分で実装することでこれを行うことができると知っていますが、レイアウトxmlに2つの異なるボタンを作成して条件付きで適切に表示する方法があるのだろうかと思いました。これが可能な場合は、一般的には良い練習ですか、あるいはボタンが2つの異なる方法を実行する良い方法がありますか? OnClickListenerを実装するだけで全体的に簡単ですか?ビューとレイアウト要素は条件付きで表示されます

おかげ

(私は現在の瞬間に表示する任意のコードを持っていないが、私の質問が漠然としている場合、私は必要に応じて、より詳しく説明させていただきます)

答えて

1

私はそれについて考えてきたとボタンの間の唯一の違いはある場合にクリックされたとき、彼らは何をすべきか、あなただけの1つのボタンを使用する必要がありますし、次のいずれか

  1. 使用をAN場合/他onClick()方法でまたは動作を制御するために、リスナーをクリックするか、行動ただし、ボタンが大きく異なる(例えば、異なる場所...など)であれば

を変更したいとき

  • 使用button.setOnClickListener()は、使用リスナーを変更するには、私の他の答え。

  • +0

    私の全体的な目標は、単一のボタン(または事実上は単一のボタン)を持っているからです。クリックごとに2つの異なることが行われます。 – SmashCode

    +0

    いいですね。答えを選ぶことを忘れないでください!ありがとう。 –

    2

    はい、それは非常に簡単。両方のボタンをレイアウトXMLに入れて、いずれかに属性android:visibility=GONEを追加します。あなたのJavaコードでは、button.setView(View.VISIBLE)button.setView(View.GONE)でボタンの表示を変更することができます。 (ボタンは表示されずにビュー内のスペースを占めるため、button.setView(View.INVISIBLE)は使用しないでください)。

    +0

    私は彼らをレイアウトの上にお互いに座らせることができますか?私は可視性の属性を知らなかった、それのおかげで。 – SmashCode

    +0

    お互いの上に座っているのはどういう意味ですか?