亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 EditText 內寫入

在 EditText 內寫入

牧羊人nacy 2023-09-13 10:50:28
我有兩個 EdiText,當我在第一個 EdiText 中寫入數字時,我需要將第二個 EdiText 設置為 162 - 第一個。如果需要重新輸入第二個數字,則組件應重新計算第一個數字。如果我在第二個中寫一些東西,第一個的行為必須與第二個完全相同。下面是我的代碼,但它不起作用:    inputScoreWe = findViewById(R.id.inputScoreWe);    inputScoreYou = findViewById(R.id.inputScoreYou);    View.OnClickListener inputScoreListener = new View.OnClickListener() {        @Override        public void onClick(View view) {            try {                int inputScoreWeInteger = Integer.parseInt(inputScoreWe.getText().toString());                int inputScoreYouInteger = Integer.parseInt(inputScoreYou.getText().toString());                if (inputScoreWeInteger > 0) {                    inputScoreYouInteger = 162 - inputScoreWeInteger;                } else if (inputScoreYouInteger > 0) {                    inputScoreWeInteger = 162 - inputScoreYouInteger;                }                String s1 = inputScoreWeInteger + "";                String s2 = inputScoreYouInteger + "";                inputScoreWe.setText(s1);                inputScoreYou.setText(s2);            } catch (Exception e) {                Toast.makeText(getApplicationContext(), "Error", Toast.LENGTH_LONG).show();            }        }    };    inputScoreWe.setOnClickListener(inputScoreListener);    inputScoreYou.setOnClickListener(inputScoreListener);
查看完整描述

3 回答

?
蕪湖不蕪

TA貢獻1796條經驗 獲得超7個贊

使用文本更改偵聽器在每次更改值時觸發


 inputScoreWe.addTextChangedListener(new TextWatcher() {

                @Override

                public void beforeTextChanged(CharSequence s, int start, int count, int after) {


                }


                @Override

                public void onTextChanged(CharSequence s, int start, int before, int count) {

                   if(s.length() > 0){

                      inputScoreYou.setText(162 - Integer.parseInt(inputScoreYou.getText().toString())+"");

                   }


                }


                @Override

                public void afterTextChanged(Editable s) {


                }

            });


查看完整回答
反對 回復 2023-09-13
?
楊魅力

TA貢獻1811條經驗 獲得超6個贊

將您的代碼替換為如下代碼


        inputScoreWe = findViewById(R.id.inputScoreWe);

        inputScoreYou = findViewById(R.id.inputScoreYou);



        inputScoreWe.addTextChangedListener(new TextWatcher() {

            @Override

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {


            }


            @Override

            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if (s.length() > 0) {

                    inputScoreYou.setText(162 - Integer.parseInt(inputScoreYou.getText().toString()) + "");

                }


            }


            @Override

            public void afterTextChanged(Editable s) {


            }

        });



        inputScoreYou.addTextChangedListener(new TextWatcher() {

            @Override

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {


            }


            @Override

            public void onTextChanged(CharSequence s, int start, int before, int count) {

                if (s.length() > 0) {

                    inputScoreWe.setText(162 - Integer.parseInt(inputScoreWe.getText().toString()) + "");

                }


            }


            @Override

            public void afterTextChanged(Editable s) {


            }

        });


查看完整回答
反對 回復 2023-09-13
?
慕的地8271018

TA貢獻1796條經驗 獲得超4個贊

嘗試這個


brandET = findViewById(R.id.addCar_brand);

        modelET = findViewById(R.id.addCar_model);


        brandET.setOnFocusChangeListener(new View.OnFocusChangeListener() {

            @Override

            public void onFocusChange(View v, boolean hasFocus) {

                brandChange = hasFocus;

            }

        });


        modelET.setOnFocusChangeListener(new View.OnFocusChangeListener() {

            @Override

            public void onFocusChange(View v, boolean hasFocus) {

                modelChange = hasFocus;

            }

        });



        brandET.addTextChangedListener(new TextWatcher() {

            @Override

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {


            }


            @Override

            public void onTextChanged(CharSequence s, int start, int before, int count) {


                if (brandChange && count > 0) {


                    int dataFromBrand = Integer.parseInt(s.toString());

                    modelET.setText((162 - dataFromBrand) + "");

                }

            }


            @Override

            public void afterTextChanged(Editable s) {


            }

        });



        modelET.addTextChangedListener(new TextWatcher() {

            @Override

            public void beforeTextChanged(CharSequence s, int start, int count, int after) {


            }


            @Override

            public void onTextChanged(CharSequence s, int start, int before, int count) {


                if (modelChange && count > 0) {


                    int dataFromModel = Integer.parseInt(s.toString());

                    brandET.setText((162 - dataFromModel) + "");

                }

            }


            @Override

            public void afterTextChanged(Editable s) {


            }

        });

這里brandET和modelET是你的兩個編輯文本...brandChange和modelChange是兩個全局布爾數據


查看完整回答
反對 回復 2023-09-13
  • 3 回答
  • 0 關注
  • 157 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號