Android 更改了导航抽屉显示屏上的名称和电子邮件profil-like playstore
我想将导航抽屉名称和电子邮件中配置文件的外观更改为playstore中的名称和电子邮件用户。 这是我使用MySQL登录的代码: LoginActivity.javaAndroid 更改了导航抽屉显示屏上的名称和电子邮件profil-like playstore,android,navigation-drawer,Android,Navigation Drawer,我想将导航抽屉名称和电子邮件中配置文件的外观更改为playstore中的名称和电子邮件用户。 这是我使用MySQL登录的代码: LoginActivity.java @Override public void onResponse(String response) { try { JSONObject jsonObject= new JSONObject(response);
@Override
public void onResponse(String response) {
try {
JSONObject jsonObject= new JSONObject(response);
String success = jsonObject.getString("success");
JSONArray jsonArray = jsonObject.getJSONArray("login");
if (success.equals("1")){
for (int i=0; i<jsonArray.length();i++){
JSONObject object= jsonArray.getJSONObject(i);
String name = object.getString("name").trim();
Toast.makeText(LoginActivity.this, "Login Berhasil. \nSelamat Datang : "+name, Toast.LENGTH_SHORT).show();
Intent intent = new Intent(LoginActivity.this,MainActivity.class);
intent.putExtra("name", name);
intent.putExtra("email", email);
startActivity(intent);
loading.setVisibility(View.GONE);
}
}
} catch (JSONException e) {
e.printStackTrace();
loading.setVisibility(View.GONE);
btnLogin.setVisibility(View.VISIBLE);
Toast.makeText(LoginActivity.this, "Error Check Kembali Email dan Password"+e.toString(), Toast.LENGTH_SHORT).show();
}
}
},
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
loading.setVisibility(View.GONE);
btnLogin.setVisibility(View.VISIBLE);
Toast.makeText(LoginActivity.this, "Error"+error.toString(), Toast.LENGTH_SHORT).show();
}
public class MainActivity extends AppCompatActivity {
private DrawerLayout drawer;
private TextView name,email;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Toolbar toolbar = findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
name = findViewById(R.id.name);
email = findViewById(R.id.email);
Intent intent = getIntent();
String extraName = intent.getStringExtra("name");
String extraEmail = intent.getStringExtra("email");
name.setText(extraName);
email.setText(extraEmail);
drawer = findViewById(R.id.drawer_layout);
ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(this,drawer,toolbar,R.string.navigation_drawer_open,R.string.navigation_drawer_close);
drawer.addDrawerListener(toggle);
toggle.syncState();
}
@Override
public void onBackPressed() {
if (drawer.isDrawerOpen(GravityCompat.START)){
drawer.closeDrawer(GravityCompat.START);
}else {
super.onBackPressed();
}
}
}
您必须先获取标题视图,然后再获取感兴趣的子视图,然后才能设置文本,例如
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//... other onCreate setup
NavigationView mNavigationView = findViewById(R.id.nav_view);
View headerView = mNavigationView.getHeaderView(0);
// get user name and email textViews
TextView userName = headerView.findViewById(R.id.text_user_name);
TextView userEmail = headerView.findViewById(R.id.text_email_address);
// set user name and email
userName.setText("username");
userEmail.setText("email.user@domain.com");
}
您可以获得导航抽屉的标题视图,如nav.getHeaderView(0);然后更改子视图:)以便在setContentView之后替换nav.getHeaderView?好的,我先试试
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//... other onCreate setup
NavigationView mNavigationView = findViewById(R.id.nav_view);
View headerView = mNavigationView.getHeaderView(0);
// get user name and email textViews
TextView userName = headerView.findViewById(R.id.text_user_name);
TextView userEmail = headerView.findViewById(R.id.text_email_address);
// set user name and email
userName.setText("username");
userEmail.setText("email.user@domain.com");
}