第一步:创建一个LoginActivity
跳转核心代码
public static final String MESSAGE_USER = "管理员";
Intent intent = new Intent(this, MainActivity.class);
intent.putExtra(MESSAGE_USER, userName);
startActivity(intent);
//跳转之后,关闭当前页面
finsh();
第二步:
在MainActivity里接收Intent传过来的值,并且重写菜单栏,核心代码如下
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater=getMenuInflater();
//动态加载自定义原生标题栏,这和自定义layout标题栏有点区别.
inflater.inflate(R.menu.main, menu);
//得到intent传过来的String类型的名称
Intent intent = getIntent();
message = intent.getStringExtra(LoginActivity.MESSAGE_USER);
MenuItem item = menu.findItem(R.id.username);
item.setTitle(message);
return super.onCreateOptionsMenu(menu);
}
原生菜单栏xml代码如下
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/username"
android:title="@string/username"
app:showAsAction="ifRoom" />
</menu>
实现效果,右上角显示的未获取到就是登录获取的数据,由于没联网,所以我这里显示的字符串是"未获取到"