我想在标题工具栏中显示一个从Firebase数据库检索到的数据。但它不起作用。
银行的结构基本上是:
Firebase Database:
- Companies
--ID
---name_company当前代码:
public class ProfileActivity extends AppCompatActivity {
private Toolbar mToolbar = null;
private String mId_company = null;
private String mNameCompany;
private DatabaseReference mCompanyDB;
private StorageReference mStorage;
@Override
protected void attachBaseContext(Context base) {
super.attachBaseContext(base);
MultiDex.install(this);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_profile);
mToolbar = (Toolbar) findViewById(R.id.toolbarPerfilEmpresa);
mToolbar.setTitle(mNameCompany);
setSupportActionBar(mToolbar);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
mStorage = FirebaseStorage.getInstance().getReference();
mCompanyDB = FirebaseDatabase.getInstance().getReference().child("Companies");
mCompanyDB.keepSynced(true);
/* ID Company*/
mId_company = getIntent().getExtras().getString("id_company");
/* Title Activity */
mCompanyDB.child(mId_company).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mNameCompany = (String) dataSnapshot.child("name_company").getValue();
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
});
}如果打开应用程序时没有显示预期的标题,则会显示活动的名称。会出什么问题呢?
发布于 2017-07-27 20:01:26
您必须在快照中重新设置工具栏的标题。
mCompanyDB.child(mId_company).addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
mNameCompany = (String) dataSnapshot.child("name_company").getValue();
mToolbar.setTitle(mNameCompany);
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
}https://stackoverflow.com/questions/45350145
复制相似问题