Android: передача значения нажатием кнопки с использованием регистра переключателя - PullRequest
1 голос
/ 22 июня 2011

У меня есть две кнопки, когда мы нажимаем первую кнопку, мы должны присвоить значение M строке, а для второй кнопки я хочу присвоить значение F той же строковой переменной

В приведенном ниже коде пол - это строковая переменная, которая равна нулю, и когда мы щелкаем по regmalebtn, мы должны передать значение M в пол строки и F для второй кнопки

В XML я не добавил set-text для обеих кнопок. когда я делаю это, нулевое значение передается, и я получаю исключение нулевого указателя.

как это решить? любая помощь будет принята с благодарностью

Заранее спасибо ...!

    String gender = null; 
Button regmalebtn = (Button) findViewById(R.id.regmalebtn);
  Button regfemalebtn = (Button) findViewById(R.id.regfemalebtn);
     // Here in the above line I m getting the error//
  public void onClick(View v) {

      switch(v.getId()){

      case R.id.regmalebtn:

    //  gender = regmalebtn.getText().toString();
        gender.equals("M");
    //  request.addProperty("gender",gender );

           break;

      case R.id.regfemalebtn: 

       //  gender = regfemalebtn.getText().toString();
            gender.equals("F");
        //  request.addProperty("gender", gender);
           break;
      default:
          break;

      }
      } 

Ответы [ 3 ]

1 голос
/ 22 июня 2011

Когда вы пытались использовать любое из следующих утверждений:

//  gender = regmalebtn.getText().toString();

или

        gender.equals("F");

оба они равны нулю.

И правильный способ присвоения значения переменной:

variable = value;

В вашем случае вместо:

gender.equals("F")

вы используете:

gender = "F"; // or gender = new String("F"); 
1 голос
/ 22 июня 2011

ты должен сделать так.

  Button regmalebtn = (Button) findViewById(R.id.regmalebtn);
  regmalebtn.setOnClickListener(this);

  Button regfemalebtn = (Button) findViewById(R.id.regfemalebtn);
  regfemalebtn .setOnClickListener(this);

   public void onClick(View v) 
   {
      switch(v.getId())
      {
          case R.id.regmalebtn:
                               gender = "M";
                               break;

         case R.id.regfemalebtn: 
                              gender = "F";
                              break;

         default:
                              break;
     }
   }
0 голосов
/ 22 июня 2011
 **String gender = "";**  

 Button regmalebtn = (Button) findViewById(R.id.regmalebtn);
  regmalebtn.setOnClickListener(this);

  Button regfemalebtn = (Button) findViewById(R.id.regfemalebtn);
  regfemalebtn .setOnClickListener(this);

   public void onClick(View v) 
   {
      switch(v.getId())
      {
          case R.id.regmalebtn:
                               gender = "M";
                               break;

         case R.id.regfemalebtn: 
                              gender = "F";
                              break;

         default:
                              break;
     }
   }
...