Ответ 1
С xml не проблема. Покажите свой Java-код, где вы пытаетесь использовать.
UPDATE: вы должны установить
certBuilder.setView(recipientsLayout);
вместо
certBuilder.setView(recipientsTextView);
Я хочу иметь прокручиваемый текст внутри Alertdialog. Это мой xml для scrollview, который я раздуваю внутри alertDialog. Я продолжаю получать эту ошибку "IllegalStateException: у указанного дочернего элемента уже есть родительский элемент. Сначала вы должны вызвать removeView() для родительского родителя."
Может быть, что-то не так с моим макетом? Потому что я использую только один раз.
<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_height="wrap_content" >
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/invalid_recipients"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="16dip"
android:layout_marginRight="16dip"
android:layout_marginTop="4dip"
android:textAppearance="?android:attr/textAppearanceMedium" />
</LinearLayout>
</ScrollView>
EDIT: я раздуваю диалог и получаю текстовое представление в AsyncTask в методе onPostExecute. Вот первый бит этого метода.
@Override
protected void onPostExecute(Void v) {
if (!invalidRecipientEmails.isEmpty()) {
AlertDialog.Builder certBuilder = new AlertDialog.Builder(
MessageCompose.this);
final View recipientsLayout = getLayoutInflater().inflate(R.layout.message_recipient_scrollview, null);
final TextView recipientsTextView = (TextView) recipientsLayout.findViewById(R.id.invalid_recipients);
recipientsTextView.setText(invalidRecipientsString);
certBuilder.setView(recipientsTextView);
// set rest of alertdialog attributes
}
}
С xml не проблема. Покажите свой Java-код, где вы пытаетесь использовать.
UPDATE: вы должны установить
certBuilder.setView(recipientsLayout);
вместо
certBuilder.setView(recipientsTextView);
Из справки ScrollView: http://developer.android.com/reference/android/widget/ScrollView.html
Класс TextView также заботится о собственной прокрутке, поэтому не требуется ScrollView, но использование двух вместе позволяет добиться эффекта текстового представления в более крупном контейнере.