2015-05-22 68 views
0

目前我的工作是有定義取決於地方的具體對話內容時所使用的自定義視圖:搶自定義視圖的孩子

main.xml

<com.example.MyView> 

    <TextView android:text="Hello from Dialog"/> 

</com.example.MyView> 

MyView類膨脹不同的佈局:

public class MyView extends RelativeLayout { 

    public EntriesList(Context context) { 
     super(context); 

     inflate(context, R.layout.my_view, this); 
    } 

    public void openDialog() { 
     AlertDialog.Builder builder = new AlertDialog.Builder(getContext()); 
     // builder.setView(); 
     // Set all children from `main.xml` - in this case `TextView` 

     builder.create().show(); 
    } 

} 

my_view.xml包含打開對話框按鈕:

<RelativeLayout> 

    <Button android:onClick="openDialog" /> 

</RelativeLayout> 

如何從渲染TextView,抓住它,並推入Dialog視圖預防?

回答

0

如何從渲染的TextView防止

設置它的知名度GONE

抓住它,並推入對話視圖

爲其分配id和使用findViewById來檢索視圖。分配它,請致電removeView()MyView並通過setView()將其分配給對話框。重要的是你刪除了視圖,因爲同一個實例只能有一個父對象。

作爲替代,你可以提供你想要設置你的對話框,您MyView的標籤,檢索它,當按下按鈕佈局的名稱,解析其ID,它充氣,並呼籲setView提供充氣視圖參數