Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java android中我的项目的算法_Java_Android - Fatal编程技术网

Java android中我的项目的算法

Java android中我的项目的算法,java,android,Java,Android,我有一个android项目,它生成随机数作为按钮的文本。如果单击按钮,相应按钮的值应显示在编辑文本中 我已经得到了按钮的值,并且能够在编辑文本中显示它。我有12个按钮和2个编辑文本。我想要的是,如果我第一次单击,那么第一个值将显示在第一个编辑文本中,第二次单击时,该值将显示在第二个编辑文本中 我的问题是,在第一次单击时,值会同时显示在两个编辑文本中。希望您能帮助我,这是我的代码: b1=(Button)findViewById(R.id.b1); et1=(EditText)findVi

我有一个android项目,它生成随机数作为按钮的文本。如果单击按钮,相应按钮的值应显示在编辑文本中

我已经得到了按钮的值,并且能够在编辑文本中显示它。我有12个按钮和2个编辑文本。我想要的是,如果我第一次单击,那么第一个值将显示在第一个编辑文本中,第二次单击时,该值将显示在第二个编辑文本中

我的问题是,在第一次单击时,值会同时显示在两个编辑文本中。希望您能帮助我,这是我的代码:

b1=(Button)findViewById(R.id.b1);
    et1=(EditText)findViewById(R.id.first);
    et2=(EditText)findViewById(R.id.second);
    b1.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            str=((Button)v).getText().toString();
            et1.setText(str);
            et2.setText(str);
        }
    });
  • b1
    =其中一个按钮
  • et1
    et2
    =两个编辑文本
  • str=空字符串

    • 这并不让我感到惊讶。你没有在你的听众中区分你的案例

          b1.setOnClickListener(new View.OnClickListener() {
      
              @Override
              public void onClick(View v) {
                  str=((Button)v).getText().toString();
                  // Check which edit text
                  if(isFirstClick()) {
                     et1.setText(str);
                     setFirstClick(false);
                  } else {
                     et2.setText(str);
                  }
              }
          });
      

      查看“isFirstClick()”类似于某种伪代码,也许您还可以检查您的first editbox是否仍然为空或类似的内容。

      @Averroes和@Sambuca都提供了一个简单的解决方案,应该可以工作:

      b1.setOnClickListener(new View.OnClickListener() {
          @Override
          public void onClick(View v) {
              str=((Button)v).getText().toString();
              if((et1.getText().toString()).equals(""))
                et1.setText(str);
              else
                et2.setText(str);
          }
      });
      

      如果您可以进行2次以上的点击,并且您的要求是在奇数点击时输出到textBox1,在偶数点击时输出到Textbox2,请使用布尔变量。

      检查et1是否为空,如果为空,然后在et1中设置文本。否则,在et2中设置文本。@Averroes,是的。谢谢。