首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从Firebase数据库恢复数据并在工具栏标题中设置

从Firebase数据库恢复数据并在工具栏标题中设置
EN

Stack Overflow用户
提问于 2017-07-27 19:58:20
回答 1查看 443关注 0票数 0

我想在标题工具栏中显示一个从Firebase数据库检索到的数据。但它不起作用。

银行的结构基本上是:

代码语言:javascript
复制
Firebase Database:
- Companies
--ID
---name_company

当前代码:

代码语言:javascript
复制
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) {
            }
        });

        }

如果打开应用程序时没有显示预期的标题,则会显示活动的名称。会出什么问题呢?

EN

回答 1

Stack Overflow用户

发布于 2017-07-27 20:01:26

您必须在快照中重新设置工具栏的标题。

代码语言:javascript
复制
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) {
    }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/45350145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档