在baseactivity中设置textview并将其显示在其他活动中

时间:2017-11-17 18:39:30

标签: java android textview toolbar

在MainActivity中扩展了Activity_Base,在TextView中只显示了我在xml中编写的简单文本。在Activity_Base中启动时设置文本不起作用。我该怎么改变它?只有在我的MainActivity中使用setText时它才有效。我会在多个活动上使用工具栏,我应该在每个活动中使用setText吗?

Activity_Base

public class Activity_Base extends AppCompatActivity 
{
@Override
protected void onCreate(Bundle savedInstanceState)
{
    super.onCreate(savedInstanceState);
    setContentView(R.layout.toolbar);
    setupToolbar();
}

private void setupToolbar()
{
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    TextView mUserName_tv=(TextView)toolbar.findViewById(R.id.UserName_tv);
    mUserName_tv.setText("asdadad"); //DOESN'T WORK
    setSupportActionBar(toolbar);
}
}

Toolbar.xml

<android.support.v7.widget.Toolbar 
...
android:id="@+id/toolbar_actionbar"
>

<LinearLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="horizontal"
    android:gravity="center">

    <TextView
        ...
        android:id="@+id/UserName_tv"
        android:clickable="true"
        android:text="Peter Dickson"
        />

</LinearLayout>
</android.support.v7.widget.Toolbar>

1 个答案:

答案 0 :(得分:0)

问题在于您的setupToolbar方法使用以下代码

private void setupToolbar()
{
    Toolbar toolbar = (Toolbar) findViewById(R.id.toolbar_actionbar);
    setSupportActionBar(toolbar);
    TextView mUserName_tv= (TextView) findViewById(R.id.UserName_tv);
    mUserName_tv.setText("asdadad");
}