当 Fragments 改变时,我如何改变 Toolbar
中的 Textview
?我的工具栏位于 BaseActivity
中,因此我可以在所有 Activity 中使用。
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
app:popupTheme="@style/AppTheme.PopupOverlay">
<FrameLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:id="@+id/toolbar_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="4dp"
android:layout_marginLeft="20dp"
ndroid:layout_marginRight="attr/actionBarSize"
android:layout_marginTop="4dp"
android:textColor="@color/colorAccent2"
android:textSize="19sp"
tools:ignore="HardcodedText" />
</FrameLayout>
</android.support.v7.widget.Toolbar>
最佳答案
您可以使用这一行轻松更改标题:
((MyAppCompatBaseActivity)getActivity()).getSupportActionBar().setTitle("Hello World!");
编辑:
我刚刚看到您的 Toolbar
中有一个 TextView
。因此,要在您的 BaseActivity 中设置标题,请执行以下操作:
public class BaseActivity extends AppCompatActivity {
TextView textViewTitle;
@Override
public void onCreate(Bundle savedInstanceState) {
// Other Code
textViewTitle = (TextView) findViewById(R.id.toolbar_title);
}
public void setTitle(String title) {
textViewTitle.setText(title);
}
}
然后在您的 Fragment 中执行此操作:
((BaseActivity)getActivity()).setTitle("Hello World!");
关于android - Fragments 中的工具栏标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38917577/