亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何實現自定義AlertDialog視圖

如何實現自定義AlertDialog視圖

喵喵時光機 2019-07-09 12:45:31
如何實現自定義AlertDialog視圖在AlertDialog上的Android文檔,它給出了在AlertDialog中設置自定義視圖的以下指令和示例:如果要顯示更復雜的視圖,請查找稱為“body”的FrameLayout,并將視圖添加到其中:FrameLayout fl = (FrameLayout) findViewById(R.id.body);fl.add(myView, new LayoutParams(FILL_PARENT, WRAP_CONTENT));首先,很明顯add()是一個錯誤,應該是addView().我對使用R.id.body的第一行感到困惑。好像是AlertDialog的身體成分.。但我不能只在代碼b/c中輸入它就會產生編譯錯誤。身體是在哪里定義或分配的?這是我的密碼。我試著用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條經驗 獲得超4個贊

你是對的,這是因為你沒有手動充氣??雌饋恚趪L試從活動的布局中“提取”body“id,但這是行不通的。

你可能想要這樣的東西:

LayoutInflater inflater = getLayoutInflater();FrameLayout f1 = (FrameLayout)alert.findViewById(android.R.id.body);f1.addView(inflater.inflate(R.layout.dialog_view, f1, false));


查看完整回答
反對 回復 2019-07-09
  • 3 回答
  • 0 關注
  • 547 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號