无法在工具栏中更新TextView和ImageView
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法在工具栏中更新TextView和ImageView相关的知识,希望对你有一定的参考价值。
我想在工具栏中动态设置用户的头像和他的名字,但它不起作用。我试图用ButterKnife绑定它,而且View.findViewById没什么帮助。实际上,即使使用ButterKnife,视图也不会为空,所以我不知道为什么它不起作用。但我发现如果工具栏中只有一个视图没有布局,View很容易更新。
<android.support.design.widget.AppBarLayout
android:id="@+id/app_bar"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize">
<LinearLayout
android:id="@+id/toolbar_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="horizontal">
<ImageView
android:id="@+id/avatar"
android:layout_width="32dp"
android:layout_height="32dp"
android:layout_gravity="center_vertical"/>
<TextView
android:id="@+id/name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/margin_medium_large"
android:textSize="@dimen/text_size_medium"/>
</LinearLayout>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.AppBarLayout>
在里面
...
@BindView(R.id.avatar)
ImageView mAvatar;
@BindView(R.id.name)
TextView mName;
...
private void initToolbar(String baseUrl, String name) {
Picasso.with(getContext())
.load(baseUrl)
.fit()
.centerCrop()
.into(mAvatar);
mName.setText(name);
}
答案
尝试在没有Butterknife的情况下这样做:
View v = findViewById(R.id.toolbar_layout);
ImageView image = v.findViewById(R.id.avatar);
以上是关于无法在工具栏中更新TextView和ImageView的主要内容,如果未能解决你的问题,请参考以下文章
片段 TextView 无法从 parcelable 对象更新
无法修改 NavigationView 中的 TextView
NativeScript TextView:textTransform 无法更新