Как отобразить изображение в виде сообщения в диалоговом окне Alert? - PullRequest
2 голосов
/ 30 июня 2019

Я делаю listview чудесных героев, у которых есть изображение, их настоящее имя и имя супергероя.И каждый раз, когда я нажимаю на символ в списке, я хочу отобразить диалоговое окно с предупреждением, которое будет выглядеть так, не создавая пользовательский макет?

PS: я студент, и наш инструктор четко дал нам указание не создавать пользовательский макет.

enter image description here

Может кто-нибудь подсказать, как получить приведенный выше фрагмент изображения?Спасибо!Я попытался поместить setIcon, но он просто покажет изображение в виде значка в верхнем левом углу поля.

Вот мой код:

MainActivity.java

<-- start of snippet -->

lv = (ListView) this.findViewById(R.id.listview1);
adapter = new CustomAdapter(this, list);

list.add(new Characters(R.drawable.thor, "Ordinson, Thor", "Thor"));
list.add(new Characters(R.drawable.steve, "Rogers, Steve", "Captain America"));
list.add(new Characters(R.drawable.stark, "Stark, Tony", "Ironman"));

lv.setAdapter(adapter);
builder = new AlertDialog.Builder(this);
builder.setNeutralButton("Okay", null);
lv.setOnItemClickListener(this);


@Override
public void OnItemClick(AdapterView<?> parent, View view, int position, long id){
     Characters selectedCharacters = this.list.get(position);

     int image = selectedCharacters.getImg();
     String name = selectedCharacters.getName();
     String supername = selectedCharacters.getSupername();

     ImageView iv = new ImageView(this);
     iv.setImageResource(image);

     builder.setTitle("" +name+ "\n" +supername);
     AlertDialog dialog = builder.create();
     dialog.show();
}

<-- end of snippet -->

1 Ответ

1 голос
/ 30 июня 2019

Вы можете использовать setView(), чтобы добавить ImageView внутри вашего AlertDialog, например:

@Override
public void OnItemClick(AdapterView<?> parent, View view, int position, long id){
     Characters selectedCharacters = this.list.get(position);

     int image = selectedCharacters.getImg();
     String name = selectedCharacters.getName();
     String supername = selectedCharacters.getSupername();
     ImageView iv = new ImageView(this);
     iv.setImageResource(image);
     builder.setTitle("" +name+ "\n" +supername);
     AlertDialog dialog = builder.create();
     builder.setView(iv)
     dialog.show();
}

Для справки перейдите по этой ссылке документации.

...