我尝试在TextView
的{{1}}方法中修改OnCreate
的文字时遇到问题。据我了解,在尝试更改文本之前必须先调用Activity
,但我仍然遇到此问题。
以下是相关代码:
setContentView
此@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_dash_board);
DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(
this, drawer, R.string.navigation_drawer_open, R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
NavigationView navigationView = (NavigationView) findViewById(R.id.nav_view);
navigationView.setNavigationItemSelectedListener(this);
userEmailtext = (TextView) findViewById(R.id.emailText);
mAuth = FirebaseAuth.getInstance();
mUser = mAuth.getCurrentUser();
userEmailtext.setText("This Does Not Work");
}
包含Activity
默认滑动菜单。此Android Studio
的目的是更改滑动菜单的电子邮件地址文本。我认为问题可能在于滑动菜单是不同布局文件的一部分,这意味着没有" emailText" textview导致setText
,但我仍然不确定如何纠正这个问题。
感谢任何帮助。
答案 0 :(得分:0)
这取决于您的R.id.emailText
组件的位置。
如果它直接在您的R.layout.activity_dash_board
中,则代码应该有效。
如果它在R.id.nav_view中,您应该通过navigationView.findViewById(R.id.emailText)
答案 1 :(得分:0)
您应该从NavigationView初始化TextView实例。在你的情况下:
userEmailtext = (TextView) navigationView.getHeaderView(0).findViewById(R.id.emailText);