如何實現(xiàn)自定義AlertDialog視圖在AlertDialog上的Android文檔,它給出了在AlertDialog中設(shè)置自定義視圖的以下指令和示例:如果要顯示更復(fù)雜的視圖,請查找稱為“body”的FrameLayout,并將視圖添加到其中:FrameLayout fl = (FrameLayout) findViewById(R.id.body);fl.add(myView, new LayoutParams(FILL_PARENT, WRAP_CONTENT));首先,很明顯add()是一個錯誤,應(yīng)該是addView().我對使用R.id.body的第一行感到困惑。好像是AlertDialog的身體成分.。但我不能只在代碼b/c中輸入它就會產(chǎn)生編譯錯誤。身體是在哪里定義或分配的?這是我的密碼。我試著用setView(findViewById(R.layout.whatever)在建筑工人身上,但不起作用。我想是因為我沒有手動充氣?AlertDialog.Builder builder = new AlertDialog.Builder(this);builder.setTitle("Title")
.setCancelable(false)
.setPositiveButton("Go", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int id) {
EditText textBox = (EditText) findViewById(R.id.textbox);
doStuff();
}});FrameLayout f1 = (FrameLayout)findViewById(R.id.body /*CURRENTLY an ERROR*/);f1.addView(findViewById(R.layout.dialog_view));AlertDialog alert = builder.create();alert.show();
3 回答

慕村225694
TA貢獻1880條經(jīng)驗 獲得超4個贊
LayoutInflater inflater = getLayoutInflater();FrameLayout f1 = (FrameLayout)alert.findViewById(android.R.id.body);f1.addView(inflater.inflate(R.layout.dialog_view, f1, false));
- 3 回答
- 0 關(guān)注
- 540 瀏覽
添加回答
舉報
0/150
提交
取消