2013-06-27 45 views
0

我想在Alertdialog中有一個可滾動的textview。這是我在alertDialog中膨脹的scrollview的xml。我一直得到這個錯誤「IllegalStateException:指定的子項已經有父項,必須先調用子項的父項的removeView()。」AlertDialog中的可滾動Textview [Android]

難道我的佈局有問題嗎?因爲我只使用一次佈局。

<?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訪問TextView的。這是該方法的第一位。

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

回答

1

用xml沒問題。 在你嘗試使用的地方顯示你的java代碼。

UPDATE:你必須設置的

certBuilder.setView(recipientsLayout); 

代替

certBuilder.setView(recipientsTextView); 
+0

檢查我的編輯.. – thisiscrazy4

+0

我更新的答案 – silentnuke

+0

哇謝謝。不知道我是怎麼錯過的 – thisiscrazy4