私の電卓アプリでは、クリックすると他のボタンのテキストを変更する反転ボタンが必要です。罪から罪への逆などのように。これは可能ですか?
5 に答える
そのボタンのonclickイベントでボタンのテキストを変更するだけです。たとえば言う
Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
if(btn.getText().toString().trim().equals("sin")){
btn.setText("sin inverse");
}else if(btn.getText().toString().trim().equals("sin inverse")){
btn.setText("sin");
}
}
});
これはあなたを助けると思います
他の回答はボタンの名前を変更する方法を完全に示していますが、よりクリーンなデザインの別のソリューションを提案します。「罪」と「罪の逆」に異なるボタンを用意し、「逆」をクリックしたときにそれらを表示/非表示にします。ボタン。そうすれば、クリーンなクリック ハンドラーを作成でき、多くの "if (isInverseMode()...)" を使用する必要がなくなります。
これを正しく機能させるには、XML レイアウト ファイルで逆操作用のいくつかの追加ボタンを宣言し、それらを に設定しますandroid:visibility="gone"
。
次に、可視ボタンの 1 つを非可視に設定し、その横にある次の非可視ボタンをコード内で可視に設定すると、ユーザーに対する効果は、1 つのボタンを別のボタンに交換したように見えます (したがって、ユーザーはボタンのテキストが変化していることに気付くだけです)。 .
それが可能だ。
ボタンのonClickメソッドでボタンのテキストを再設定するだけです。
buttonId.setText("Your button text");
あなたが言っていることから、あなたはボタンの機能とテキストを変更したいように聞こえますが...その場合、2つのボタンの状態を処理するためにonClickメソッドにifステートメントを入れる必要があります。
ボタンにテキストを設定すると、いつでも役立ちます。
このコードはあなたを助けるかもしれません..
final Button btn = (Button)findViewById(R.id.button1);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
btn.setText(new StringBuilder(btn.getText().toString().trim()).reverse());
}
});