Как почистить часть EditText? - PullRequest
0 голосов
/ 02 октября 2018

Мое приложение имеет несколько экземпляров EditText.Я должен очистить все EditText s, когда я нажимаю кнопку.Мне нужно написать условие очистки всех EditText s, в которых некоторые из EditText s пусты.Как я это сделаю?

public class Fragment1 extends Fragment implements View.OnClickListener
{
    @Override
    public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
    {
        View v=inflater.inflate(R.layout.fragment1,null);
        seekBar1 = v.findViewById(R.id.fragment1SeekBar1);
        seekBar2 = v.findViewById(R.id.fragment1SeekBar2);
        seekBar3=v.findViewById(R.id.fragment1SeekBar3);

        edTxt1=v.findViewById(R.id.fragment1EditText1);
        edTxt2=v.findViewById(R.id.fragment1EditText2);
        edTxt3=v.findViewById(R.id.fragment1EditText3);

        fragment1button1=v.findViewById(R.id.fragment1Button1);
        fragment1button1.setOnClickListener(this);}

    @Override
    public void onClick(View view){
        int val1 = Integer.parseInt( edTxt1.getText().toString());
        int val2=Integer.parseInt( edTxt2.getText().toString());
        int val3=Integer.parseInt( edTxt3.getText().toString());

        switch(view.getId()){
            case R.id.fragment1Button1:
                if(edTxt1.equals("")){
                    edTxt1.getText().clear();
                    edTxt2.getText().clear();
                    edTxt3.getText().clear();
                }else if(edTxt2.equals("")){
                    edTxt1.getText().clear();
                    edTxt2.getText().clear();
                    edTxt3.getText().clear();}
                else if (edTxt3.equals("")){
                    edTxt1.getText().clear();
                    edTxt2.getText().clear();
                    edTxt3.getText().clear();}
                break;}
}
}

Ответы [ 6 ]

0 голосов
/ 02 октября 2018

Попробуйте вот так

  switch(view.getId())

{
    case R.id.fragment1Button1:
        if (TextUtils.isEmpty(edTxt1.getText().toString())) {
            edTxt1.getText().clear();
            edTxt2.getText().clear();
            edTxt3.getText().clear();
        } else if (TextUtils.isEmpty(edTxt2.getText().toString())) {
            edTxt1.getText().clear();
            edTxt2.getText().clear();
            edTxt3.getText().clear();
        } else if (TextUtils.isEmpty(edTxt3.getText().toString())) {
            edTxt1.getText().clear();
            edTxt2.getText().clear();
            edTxt3.getText().clear();
        }
        break;
}
0 голосов
/ 02 октября 2018

Если вы хотите установить «EditText» пусто, просто используйте

if(edTxt1.getText().toString().equals("")) {
    edTxt1.setText("");
    edTxt2.setText("");
    edTxt3.setText("");
} else if(edTxt2.getText().toString().equals("")) {
    edTxt1.setText("");
    edTxt2.setText("");
    edTxt3.setText("");
} else if (edTxt3.getText().toString().equals("")) {
    edTxt1.setText("");
    edTxt2.setText("");
    edTxt3.setText("");
}
break;

или если вы хотите удалить edittext

if (edTxt1.getText().toString().equals("")) {
    edTxt1.setVisibility(View.GONE);
    edTxt2.setVisibility(View.GONE);
    edTxt3.setVisibility(View.GONE);
} else if(edTxt2.getText().toString().equals("")) {
    edTxt1.setVisibility(View.GONE);
    edTxt2.setVisibility(View.GONE);
    edTxt3.setVisibility(View.GONE);
} else if (edTxt3.getText().toString().equals("")) {
    edTxt1.setVisibility(View.GONE);
    edTxt2.setVisibility(View.GONE);
    edTxt3.setVisibility(View.GONE);
}
break;
0 голосов
/ 02 октября 2018

Попробуйте это изменение, если условие

 if(edTxt1.equals(""))

до

 if(edTxt1.getText().toString().length()>0)

, дайте мне знать, если это работа или нет

0 голосов
/ 02 октября 2018

Если вы хотите установить для текста редактируемого текста значение null:

edTxt1.setText("");

В противном случае вы можете удалить его, установив значение невидимое.

edTxt1.setVisibility(View.INVISIBLE); 
0 голосов
/ 02 октября 2018

Для каждого EditText сделать это так

if (!edTx.getText().toString().equals("")) {
    edTx.setText("");
}
0 голосов
/ 02 октября 2018

if(edTxt1.equals(""))

Ваши условия неверны.Они должны выглядеть так:

if(edTxt1.getText().toString().equals(""))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...