Java 如何将布局作为函数参数传递
这可能是一个非常简单的问题,但我一直坚持这个问题 我有一个函数,在我的应用程序中被多次调用。 我想重构它,但我不知道如何将Java 如何将布局作为函数参数传递,java,android,android-layout,arguments,Java,Android,Android Layout,Arguments,这可能是一个非常简单的问题,但我一直坚持这个问题 我有一个函数,在我的应用程序中被多次调用。 我想重构它,但我不知道如何将findviewbyd的值作为参数传递 请问你知道怎么做吗 公共无效配置工具栏(){ mToolbar=(工具栏)findViewById(R.id.activitySettingsToolbar); mToolbar.setElevation(0); mToolbar.setTitle(“”); 设置支持操作栏(mToolbar); } 编辑: 到目前为止,我可以使用以
findviewbyd
的值作为参数传递
请问你知道怎么做吗
公共无效配置工具栏(){
mToolbar=(工具栏)findViewById(R.id.activitySettingsToolbar);
mToolbar.setElevation(0);
mToolbar.setTitle(“”);
设置支持操作栏(mToolbar);
}
编辑:
到目前为止,我可以使用以下结果执行此configureToolbar(活动,Toolbar mToolbar)
:
公用void配置工具栏(活动,工具栏){
工具栏=(工具栏)findViewById(R.id.activitySettingsToolbar);
工具栏。设置标高(0);
工具栏。设置标题(“”);
((AppCompatActivity)活动)。设置支持操作栏(工具栏);
}
但是如果我想更改布局,我需要能够将其作为参数传递:/您可以通过工具栏的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)
您可以执行以下操作:
private void setupToolbar(int resource){
Toolbar toolbar = findViewById(resource);
if (toolbar != null){
//....
}
}
配置工具栏(工具栏mToolBar)
?通过configureToolbar((Toolbar)findViewById(R.id.x))
创建这样的函数configureToolbar(Toolbar-Toolbar){//function body}
@AbidKhan它是java,不是kotlin