Len*_*ena 4 java android arguments android-layout
这可能是一个非常简单的问题,但我仍然坚持这一问题。
我的函数在我的应用程序中被多次调用。我想重构它,但是我不知道如何将findViewById
as 的值作为参数传递。
请问你知道怎么做吗?
public void configureToolbar() {
mToolbar = (Toolbar) findViewById(R.id.activitySettingsToolbar);
mToolbar.setElevation(0);
mToolbar.setTitle("");
setSupportActionBar(mToolbar);
}
Run Code Online (Sandbox Code Playgroud)
编辑:
到目前为止,我可以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);
}
Run Code Online (Sandbox Code Playgroud)
但是,如果我想更改布局,则需要能够将其作为参数传递:/
您可以通过工具栏的ID进行传递:
public void configureToolbar(int id) {
mToolbar = (Toolbar) findViewById(id);
mToolbar.setElevation(0);
mToolbar.setTitle("");
setSupportActionBar(mToolbar);
}
Run Code Online (Sandbox Code Playgroud)
那么您可以使用以下命令调用它:
configureToolbar(R.id.yourToolbarId)// in your case this is R.id.activitySettingsToolbar or any other toolbar Id
Run Code Online (Sandbox Code Playgroud)
从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);
}
}
Run Code Online (Sandbox Code Playgroud)
然后您使用以下命令调用它:
configureToolbar(yourActivity, R.id.yourToolbarId)
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
93 次 |
最近记录: |