2012-05-09 3 views
-1

В моем калькуляторе приложение, я хочу обратную кнопку, которая при нажатии меняет текст других кнопок. Как грех грешить обратным и т. Д. Возможно ли это?Как изменить имя кнопок одним нажатием кнопки?

+0

Да, возможно, но что вы пробовали до сих пор, что не работает для вас? Пожалуйста, отредактируйте свой вопрос с дополнительной информацией, потому что StackOverflow здесь не для написания кода для вас. – RivieraKid

ответ

2

Вы можете просто изменить текст кнопки в этой кнопке onclick event. Say Например

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"); 
      } 

      } 
     }); 

Я думаю, что это поможет вам

0

Это возможно.

Просто заново установите текст кнопки в методе onClick для кнопки.

buttonId.setText("Your button text"); 

Из того, что вы говорите, хотя это звучит, как вы хотите изменить эти кнопки действуют так же, как текст ... в этом случае вам нужно поставить, если заявление в методе OnClick для обработки два .

-1

Этот код может помочь вам ..

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

Проверьте тест, чтобы он сказал, что грех «грешит обратным», но ваша функция сделает его «esrevni nis» – Arslan

0

В то время как другие ответы совершенно правы, показывая вам, как переименовать кнопки, я предлагаю другое решение с чистым дизайном: Есть различных кнопок для «греха »и« sin inverse », и только делают их видимыми/невидимыми при нажатии кнопки« Обратный ». Таким образом, вы можете писать чистые обработчики кликов и не должны использовать много «if (isInverseMode() ...)».

Чтобы сделать эту работу правильно, вы просто объявляете некоторые дополнительные кнопки для обратных операций в вашем файле макета XML и устанавливаете их в android:visibility="gone".

Если вы затем установили одну из видимых кнопок на невидимую и следующую непроницаемую кнопку, кроме того, чтобы она была видимой в коде, то эффект для пользователя выглядит так, как будто вы обменивали одну кнопку на другую (поэтому он только замечает текст кнопка меняется).

+0

Я подумал об этом, но решил просто ответить на его вопрос ... хотя я заметил, что изменение текста не было собирается изменить функцию. :) – Barak

+0

@ Барак: Вы знаете разницу в том, что голодный парень просит о еде только рыбу или альтернативу дать ему удочку и научить его рыбачить? Я предпочитаю второй, если я могу себе это позволить. :) – Bananeweizen

0

Настройка текста на кнопке поможет в любое время.

Смежные вопросы