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

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

如何將布局作為函數參數傳遞

如何將布局作為函數參數傳遞

寶慕林4294392 2023-06-21 13:11:53
這可能是一個非常簡單的問題,但我堅持這個問題。我有一個在我的應用程序中被多次調用的函數。我想重構它,但我不知道如何將 的值findViewById作為參數傳遞。請問你知道怎么做嗎?public void configureToolbar() {        mToolbar = (Toolbar) findViewById(R.id.activitySettingsToolbar);        mToolbar.setElevation(0);        mToolbar.setTitle("");        setSupportActionBar(mToolbar);    }編輯:到目前為止,我可以configureToolbar(Activity activity, Toolbar mToolbar)用這個結果來做到這一點:public void configureToolbar(Activity activity, Toolbar toolbar) {       toolbar= (Toolbar) findViewById(R.id.activitySettingsToolbar);       toolbar.setElevation(0);       toolbar.setTitle("");       ((AppCompatActivity)activity).setSupportActionBar(toolbar);   }但是如果我想改變我的布局,我需要能夠將它作為參數傳遞:/
查看完整描述

3 回答

?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

您可能會通過工具欄的 ID:


public void configureToolbar(int id) {

    mToolbar = (Toolbar) findViewById(id);

    mToolbar.setElevation(0);

    mToolbar.setTitle("");


    setSupportActionBar(mToolbar);

}

那么你可以這樣調用:


configureToolbar(R.id.yourToolbarId)// in your case this is R.id.activitySettingsToolbar or any other toolbar Id

從OP編輯后:


 public void configureToolbar(Activity activity, int toolbarId) {

 Toolbar toolbar= (Toolbar) activity.findViewById(toolbarId);

   if(toolbar != null) { //credit to @Gabriele Mariotti, I missed this check

   toolbar.setElevation(0);

   toolbar.setTitle("");


   ((AppCompatActivity)activity).setSupportActionBar(toolbar);

 }

}

然后你稱之為:


configureToolbar(yourActivity, R.id.yourToolbarId)


查看完整回答
反對 回復 2023-06-21
?
qq_花開花謝_0

TA貢獻1835條經驗 獲得超7個贊

你可以這樣做:


private void setupToolbar(int resource){

    Toolbar toolbar = findViewById(resource);

    if (toolbar != null){

      //....

    }

}


查看完整回答
反對 回復 2023-06-21
?
拉風的咖菲貓

TA貢獻1995條經驗 獲得超2個贊

在參數中傳遞布局的最佳方法是使用@LayoutRes注解:

fun buildDialog(@LayoutRes viewId : Int) {

}


查看完整回答
反對 回復 2023-06-21
  • 3 回答
  • 0 關注
  • 176 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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