Java 在操作栏中注销
对于我的应用程序,我使用bouton注销,但现在我想使用操作栏(当用户点击注销图标进入主页时),我不能让他们住在一起 (我是法国人,很难编码,因为所有的图图都是英语的。所以请耐心等待我) 多谢各位 我的按钮代码是:Java 在操作栏中注销,java,android,logout,Java,Android,Logout,对于我的应用程序,我使用bouton注销,但现在我想使用操作栏(当用户点击注销图标进入主页时),我不能让他们住在一起 (我是法国人,很难编码,因为所有的图图都是英语的。所以请耐心等待我) 多谢各位 我的按钮代码是: btn_logout.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) {
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 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>
我想添加图标注销的代码:
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 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>
我的XML:
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 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);
}
将此代码(sessionManager.logout();Intent Intent=new Intent(getApplicationContext(),MainActivity.class);startActivity(Intent);finish();)放在此处(如果(id==R.id.action\u logout){),则可以删除所有单击代码(btn\u logout.setOnClickListener(new View.OnClickListener()){………)非常感谢塔索斯。它有效:)