0

Alertdialog 内にスクロール可能なテキストビューが必要です。これは、alertDialog 内で膨らませるスクロールビューの xml です。「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>

編集: ダイアログを膨張させ、onPostExecute メソッドの AsyncTask でテキストビューにアクセスしています。これがそのメソッドの最初のビットです。

        @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
            }
         }
4

2 に答える 2

1

xml では問題ありません。使用しようとしている Java コードを表示します。

更新:設定する必要があります

certBuilder.setView(recipientsLayout); 

それ以外の

certBuilder.setView(recipientsTextView);
于 2013-06-27T21:08:01.553 に答える
0

ScrollView リファレンスから: http://developer.android.com/reference/android/widget/ScrollView.html

TextView クラスは独自のスクロールも処理するため、ScrollView は必要ありませんが、2 つを一緒に使用すると、より大きなコンテナー内でテキスト ビューの効果を得ることができます。

于 2013-06-27T20:59:16.630 に答える