简体   繁体   中英

Not getting any value from EditText in activity

I know that this might look stupid but still I'm getting frustrated as to why this edittext returns empty value.

ImageButton attach = findViewById(R.id.btn_attach);
Button send = findViewById(R.id.btn_send);
EditText message = findViewById(R.id.report_message);

content = message.getText().toString(); // <!-- always null

send.setOnClickListener(v -> {
     if (searchSpinner.getSelectedItems().size() == 0 || content.equals("")) {
         Toast.makeText(getApplicationContext(), content + " > " + categoryList.toString().substring(1, categoryList.toString().length()-1),Toast.LENGTH_LONG).show();
     } else {
            if (imageList.size() != 0) {
                doMultipartRequest();
            } else {
                doSendRequest();
            }
    }
});

Can't think of any possible cause except that I accidentally clicked on something and it created a duplicate layout and generated a directory in layouts folder with x24 something on its name

You need to get text from your EditText inside setOnClickListener()

Try this

 send.setOnClickListener(v -> {
        content = message.getText().toString(); // <!-- always null
        if (searchSpinner.getSelectedItems().size() == 0 || content.equals("")) {
            Toast.makeText(getApplicationContext(),
                    content + " > " +
                            categoryList.toString().substring(1, categoryList.toString().length()-1),
                    Toast.LENGTH_LONG).show();
        } else {
            if (imageList.size() != 0) {
                doMultipartRequest();
            } else {
                doSendRequest();
            }
        }
    });

Try this:-

  ImageButton attach = findViewById(R.id.btn_attach);
  Button send = findViewById(R.id.btn_send);
  EditText message = findViewById(R.id.report_message);


  send.setOnClickListener(v -> {
       if (searchSpinner.getSelectedItems().size() == 0 || message.getText().toString().equals("")) {
            Toast.makeText(getApplicationContext(),
               message.getText().toString()+ " > " +
                       categoryList.toString().substring(1, categoryList.toString().length()-1),
                        Toast.LENGTH_LONG).show();
       } else {
            if (imageList.size() != 0) {
                 doMultipartRequest();
            } else {
                 doSendRequest();
                }
            }
      });

Hope it will work

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM