在操作栏中注销
Logout in action bar
对于我的应用程序,我使用了一个 bouton 来注销,但现在我想使用操作栏(当用户单击注销图标时,他会转到主页)并且我无法让它们一起生活。
(我是法国人,很难编码,因为所有教程都是英文的。所以请耐心等待)。
非常感谢。
我的按钮代码是:
btn_logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sessionManager.logout();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
}
});
我想在其中添加图标注销的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_logout) {
return true;
}
return super.onOptionsItemSelected(item);
}
我的XML:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_logout"
android:icon="@android:drawable/ic_lock_power_off"
android:title="@string/logout"
app:showAsAction="ifRoom" />
</menu>
您需要在用户点击菜单项时执行某些操作。
if (id == R.id.action_logout) {
logout();
return true;
}
将您的注销代码移动到一个方法中,以便您可以从任何地方调用它:
private void logout() {
sessionManager.logout();
startActivity(new Intent(this, MainActivity.class));
finish();
}
这样工作很好。谢谢大家。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_logout) {
sessionManager.logout();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
return true;
}
return super.onOptionsItemSelected(item);
}
对于我的应用程序,我使用了一个 bouton 来注销,但现在我想使用操作栏(当用户单击注销图标时,他会转到主页)并且我无法让它们一起生活。
(我是法国人,很难编码,因为所有教程都是英文的。所以请耐心等待)。
非常感谢。
我的按钮代码是:
btn_logout.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
sessionManager.logout();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
}
});
我想在其中添加图标注销的代码:
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_logout) {
return true;
}
return super.onOptionsItemSelected(item);
}
我的XML:
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto">
<item
android:id="@+id/action_logout"
android:icon="@android:drawable/ic_lock_power_off"
android:title="@string/logout"
app:showAsAction="ifRoom" />
</menu>
您需要在用户点击菜单项时执行某些操作。
if (id == R.id.action_logout) {
logout();
return true;
}
将您的注销代码移动到一个方法中,以便您可以从任何地方调用它:
private void logout() {
sessionManager.logout();
startActivity(new Intent(this, MainActivity.class));
finish();
}
这样工作很好。谢谢大家。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_logout) {
sessionManager.logout();
Intent intent = new Intent(getApplicationContext(), MainActivity.class);
startActivity(intent);
finish();
return true;
}
return super.onOptionsItemSelected(item);
}