0

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

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

我的问题是,在第一次单击时,值同时显示在 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= 按钮之一。
  • et1et2= 两个编辑文本。
  • str = 空字符串
4

2 回答 2

0

@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 - 使用布尔变量。

于 2013-08-26T13:24:45.197 回答
0

这并不让我感到惊讶。您不会在 onClickListener 中区分您的案例。

    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()”,也许您还可以检查您的第一个编辑框是否仍然是空的或类似的东西。

于 2013-08-26T12:54:23.610 回答