在onCreate()
方法中,我们可以使用setContentView(R.layout.something)
将布局与活动关联。无论如何,我以后可以检索something
进行活动吗?
我知道我可以使用this.findViewById(android.R.id.content).getRootView()
获取活动的内容视图,但是不确定是否从那里可以获取something
?
最佳答案
一般情况下,如果要解决所有问题,请执行以下操作:
public class BaseActivity extends AppCompatActivity {
private int layoutId;
@Override
public void setContentView(int layoutResID) {
this.layoutId = layoutResID;
super.setContentView(layoutResID);
}
protected String getLayoutName() {
return getResources().getResourceEntryName(this.layoutId);
}
}
public class MainActivity extends BaseActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Log.d("TAG", getLayoutName());
}
}
或者您可以简单地这样做:
public class MainActivity extends AppCompatActivity {
private String layoutName;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
this.layoutName = getResources().getResourceEntryName(R.layout.activity_main);
Log.d("TAG", layoutName);
}
}