目前,我正在处理自定义视图,该视图必须根据所使用的位置定义特定的对话框内容:
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 :(得分:0)
如何防止渲染TextView
将其展示次数设置为GONE
抓住它并按下对话框视图
为其分配id
并使用findViewById
来检索视图。分配,在removeView()
上拨打MyView
,然后通过setView()
将其分配给对话。重要的是您删除了视图,因为同一个实例只能有一个父级。
作为替代方案,您可以将要设置为对话框的布局名称作为MyView
的标记提供,在按下按钮时检索它,解析其ID,对其进行充气并调用{{1}提供膨胀的视图作为参数