未从活动中的编辑文本获取任何值



我知道这可能看起来很愚蠢,但我仍然对为什么这个编辑文本返回空值感到沮丧。

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();
}
}
});

想不出任何可能的原因,除了我不小心点击了某些东西,它创建了一个重复的布局,并在布局文件夹中生成了一个目录,名称上有x24

您需要从EditText中获取文本setOnClickListener()

试试这个

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();
}
}
});

试试这个:-

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();
}
}
});

希望它会起作用

最新更新