в моем приложении пользователь нажимает кнопку, чтобы отправить свой ответ на сервер, используя asynctask, и я показываю изображение в зависимости от их ответа.
Вот код в onPostExecute ():
ConstraintLayout root = findViewById(R.id.root);
ImageView img = new ImageView(PlayActivity.this);
img.setId(R.id.answerImage);
img.setImageResource(R.drawable.correct_answer);
img.setAdjustViewBounds(true);
ConstraintLayout.LayoutParams params = new ConstraintLayout.LayoutParams(
ConstraintLayout.LayoutParams.WRAP_CONTENT,
ConstraintLayout.LayoutParams.WRAP_CONTENT
);
ConstraintSet cs = new ConstraintSet();
cs.connect(img.getId(), ConstraintSet.TOP, R.id.answerButton, ConstraintSet.BOTTOM, 32);
cs.applyTo(root);
img.setVisibility(ImageView.VISIBLE);
root.addView(img, params);
try {
Thread.sleep(2000);
} catch(InterruptedException e) {
Log.e("exception", e.getMessage());
}
root.removeView(img);
Идентификатор, который я использовал в setId, определен в ids. xml file.
Однако изображение просто не отображается. Я пробовал этот код без ConstraintSet / установив ширину и высоту на 100 в LayoutParams / используя setImageDrawable вместо setImageResource. Ничего не получилось.
Я использую картинку «Проверить» в студии android в качестве рисунка, если это имеет значение.