当我点击它时,我需要让注销按钮进入登录页面
好吧首先,我在屏幕顶部有一个操作栏(它在菜单文件夹中有一个不同的xml文件),此操作栏包含注销按钮。
对于整个屏幕的布局(而不是顶部的菜单)在布局文件夹中有一个名为fragment_create_incident的xml文件,它具有整个屏幕的布局
我不知道在create_incident.java中添加我的注销代码以使其工作,我已经尝试将其放在oncreate中,但是当我运行它时我的应用程序关闭了!
这是页面顶部菜单栏的相关代码
create_incident.java
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
tools:context="com.example.studentproject.caservicedesk.CreateRequest" >
<item
android:id="@+id/logout"
android:orderInCategory="2"
android:title="@string/logout"
android:showAsAction="never"/>
</menu>
这是我的注销按钮重定向代码,我想在java代码中添加
Button logout = (Button) findViewById(R.id.logout);
logout.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Switching to login screen
Intent i = new Intent(getApplicationContext(), Login.class);
startActivity(i);
}
});
这就是我要将注销按钮添加到其中的活动
public class CreateIncident extends Activity
{
private final String TAG = "create_incident";
@Override
public boolean onCreateOptionsMenu(Menu menu)
{
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.create_incident, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.action_bar:
Log.i(TAG, "Action bar item clicked");
return true;
case R.id.home:
Log.i(TAG, "Home item clicked");
return true;
case R.id.logout:
Log.i(TAG, "Logout item clicked");
return true;
default: return super.onOptionsItemSelected(item);
}
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_create_incident);
}
}
}
答案 0 :(得分:0)
将它放在onOptionsItemSelected处理程序中:
@Override
public boolean onOptionsItemSelected(MenuItem item)
{
switch (item.getItemId())
{
case R.id.action_bar:
Log.i(TAG, "Action bar item clicked");
return true;
case R.id.home:
Log.i(TAG, "Home item clicked");
return true;
case R.id.logout: {
Log.i(TAG, "Logout item clicked");
Intent i = new Intent(getApplicationContext(), Login.class);
startActivity(i);
return true;
}
default:
return super.onOptionsItemSelected(item);
}
}