在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>
答案 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");
}