0

3 つのチェックボックスと 2 つの編集テキストがあります。ユーザーが 1 つのチェックボックスをオンにして 1 つの edittext 計算にデータを入力すると、計算が行われます。別のチェックボックスをオンにすると、edittext の値が自動的にクリアされます。ただし、他のチェックボックスをチェックした後でも、編集テキストのデータは存在します。アプリケーションをシャットダウンするfinish()を試しました。アプリを閉じずにこれを達成する方法はありますか?

この質問が奇妙に聞こえる場合は申し訳ありません。私はただアンドロイドを学んでいます ありがとう。

私の onCheckedChangedListener のコード

public void onCheckedChanged(CompoundButton predictionChkView, boolean isPredictionChecked)
    {
        // TODO Auto-generated method stub


        switch(predictionChkView.getId())
        {
        case R.id.chkLastMileage1:

                                        isChkLastMileage1=true;
                                        chkLastMileage5.setChecked(false);
                                        chkLastMileage10.setChecked(false);
                                        ETPredictKm.setText("");
                                        ETPredictFuelQty.setText("");

                                        break;

        case R.id.chkLastMileage5:
                                        isChkLastMileage5=true;
                                        chkLastMileage1.setChecked(false);
                                        chkLastMileage10.setChecked(false);
                                        ETPredictKm.setText("");
                                        ETPredictFuelQty.setText("");
                                        break;
        case R.id.chkLastMileage10:

                                        isChkLastMileage10 =true;
                                        chkLastMileage1.setChecked(false);
                                        chkLastMileage5.setChecked(false);
                                        ETPredictKm.setText("");
                                        ETPredictFuelQty.setText("");
                                        break;
        }

    }

Code for the onFocusChangedListener

public void onFocusChange(View predictionFocusView, boolean hasPredictionETFocus) 
    {

        // TODO Auto-generated method stub
        FuelStoredInfo predictInfo = new FuelStoredInfo(this);
        predictInfo.open();
        predictInfo.getAvgMileage(this);
        predictInfo.close();
        try
        {
            predictKm = Long.parseLong(ETPredictKm.getText().toString());
            predictFuetlQty = Double.parseDouble(ETPredictFuelQty.getText().toString());



        }
        catch(NumberFormatException ne)
        {
            ne.printStackTrace();
        }
        if(isChkLastMileage1 ==true || isChkLastMileage5==true||isChkLastMileage10==true)
        {
        if(ETPredictKm.hasFocus())
            {
            ETPredictKm.setText("");
            if(predictFuetlQty!=0)
            {
                predictKm =(long) (predictionMileage*predictFuetlQty);
                //setPredictKm(predictKm);
                ETPredictKm.setText(String.valueOf(predictKm));
            }
            }
            else if(ETPredictFuelQty.hasFocus())
            {
                ETPredictFuelQty.setText("");
                if(predictKm!=0)
                {
                    predictFuetlQty =predictKm/predictionMileage;
                    //setPredictFuetlQty(predictFuetlQty);
                    ETPredictFuelQty.setText(new DecimalFormat("##.##").format(predictFuetlQty));
                }

            }   
        }
        else
        {
            Toast.makeText(getApplicationContext(), "Please check a checkbox!", Toast.LENGTH_LONG).show();
        }

    }

public void onClick(View v) 
    {
        // TODO Auto-generated method stub

                                ETPredictKm.setText("");
                                ETPredictFuelQty.setText("");
                                chkLastMileage1.setChecked(false);
                                chkLastMileage5.setChecked(false);
                                chkLastMileage10.setChecked(false);


    }
4

5 に答える 5

0
CheckBox check1 = (CheckBox) findViewById(R.id.checkbox1);
Checkbox check2 = (Checkbox) findViewById(R.id.checkbox2);
 if (check1.isChecked()) {
     EditText myEditText = (EditText) findViewById(R.id.edit_text_1);
     myEditText.setText("");
 }
 if (check2.isChecked()) {
     EditText myEditText2 = (EditText) findViewById(R.id.edit_text_2);
     myEditText1.setText("");
 }
于 2013-07-21T16:47:44.660 に答える
0

関数に追加します。

EditText editText = (EditText)findViewById(R.id.edittext);
editText.setText("");
于 2013-07-21T13:56:54.150 に答える
0

他のチェックボックスをオンにすると、これを行います

 edittext.setText("");

他のためにEditText

編集-----

FocusChangeListenerあなたのすべてを追加してEditText、これを行います----

ETPredictKm.setOnFocusChangeListener(new OnFocusChangeListener()
    {
        @Override
        public void onFocusChange(View v, boolean hasFocus) 
        {
            if (hasFocus)
                ETPredictKm.setText("");
        }
    });
于 2013-07-21T13:57:19.000 に答える
0

editTextへの参照を保存する場合は、呼び出すだけです

editText.setText("");

チェックボックスが目的の状態になったら、onCheckedChange リスナー内でこれを行います。

于 2013-07-21T13:58:44.837 に答える
0

チェックボックス oncheckedchangelistener を追加してから、edittest.setText(""); を追加します。中身。

次のようにします。

checkbox1.setOnCheckedChangeListener(new OnCheckedChangeListener() {
        @Override
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
        edittext.setText("");
        }
    });

また、編集テキスト、チェックボックスなどの変数を次のように宣言することを忘れないでください。

//example
final CheckBox checkBox1 = (CheckBox) findViewById(R.id.checkBox1);

それが機能するかどうか教えてください:)

別:

checkbox.setOnCheckedChangeListener(new OnCheckedChangeListener()
    {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked)
        {
            if ( checkbox.isChecked() )
            {
                edittext.setText("");
            }

        }
    });
于 2013-07-21T14:03:49.240 に答える