簡體   English   中英

我在Android中的項目的算法

[英]Algorithm for my project in android

我有一個Android項目,它會生成隨機數作為按鈕的文本。 如果單擊按鈕,則相應按鈕的值應顯示在edittext中。

我已經在獲取按鈕的值,並且還可以在edittext中顯示它。 我有12個按鈕和2個edittext。 我想要的是,如果我要進行第一次單擊,則第一個值將顯示在第一個編輯文本中,而在第二次單擊中,該值將顯示在第二個編輯文本中。

我的問題是,在第一次單擊中,該值將同時顯示在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 =兩個edittexts。
  • str =空字符串

這並不令我驚訝。 您不會在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()”之類的偽代碼,也許您還可以檢查您的第一個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-請使用布爾變量。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM