2016-03-05 3 views
-3

Я хочу сделать текст в alert dialog, который можно щелкнуть. на самом деле текст будет ID. поэтому, когда вы нажмете его, он откроет браузер и перейдет на определенную веб-страницу. Как я должен это делать? его мой код:clickable text in alert dialog

alertDialog.Builder mBuilder = new AlertDialog.Builder(this); 
mBuilder.setMessage("@sampleID"); 
mBuilder.setCancelable(true); 
AlertDialog mAlert = mBuilder.create(); 
mAlert.show();  

также, как я могу поместить несколько строк в предупредительном диалоге (разные идентификаторы в каждой строке)

+0

Используйте специальный диалог (фрагмент) с помощью ListView. –

+0

Насколько я знаю, диалоговое окно должно избегать открытия другого диалогового окна или другой веб-страницы изнутри. Это не лучшая практика. Пожалуйста, проверьте конструкцию материалов [документация] (https://www.google.com/design/spec/components/dialogs.html#dialogs-specs)! В нем указано, что * Диалоги не должны включать более двух действий. Третье действие, такое как «Узнать больше», перемещается в сторону от диалога, потенциально оставляя задачу незавершенной. Избегайте использования действия «Узнать больше» для доступа к справочной документации; вместо этого следует использовать внутристрочное расширение в диалоговом окне. * –

ответ

1

Вы должны создать макет содержит то, что вы хотите, и использовать setContentView в добавьте макет в AlertDialog.

LayoutInflater inflater = LayoutInflater.from(this); 
RelativeLayout layout = (RelativeLayout)inflater.inflate(R.layout.alert_custom, null); 
TextView tv1 = layout.findViewById(R.id.your_item_0); 
tv1.setOnClickListener(new OnClickListener()); 
final AlertDialog dialog = new AlertDialog.Builder(MainActivity.this).create(); 
dialog.setCancelable(true); 
dialog.show(); 
dialog.getWindow().setContentView(layout);