我有一个得分保持应用程序,其中父活动允许用户输入自定义团队名称。
然后用户可以在游戏中保持得分。
如果用户在得分保持活动中点击后退按钮(返回到团队选择器活动),由于得分数据丢失,我已经实施了确认:
@Override
public void onBackPressed() {
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Return to team selector")
.setMessage("Returning to the team selector will reset the scores. Are you sure " +
"you want to continue?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
finish();
}
})
.setNegativeButton("No", null)
.show();
}
我想在用户“向上导航”到父母(即团队选择器)时实施类似的确认,因为将会有相同的评分数据丢失。但是,我遇到了这样的问题。
我是否找不到类似的“onUpPressed
”功能?关于如何解决这个问题的任何其他指导意见表示赞赏。
答案 0 :(得分:1)
android中没有onUpPressed
方法。您需要在onOptionsItemSelected
方法中编写它并在那里处理它。
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()){
case R.id.home:
new AlertDialog.Builder(this)
.setIcon(android.R.drawable.ic_dialog_alert)
.setTitle("Return to team selector")
.setMessage("Returning to the team selector will reset the scores. Are you sure " +
"you want to continue?")
.setPositiveButton("Yes", new DialogInterface.OnClickListener()
{
@Override
public void onClick(DialogInterface dialog, int which) {
NavUtils.navigateUpFromSameTask(this);
return true;
}
})
.setNegativeButton("No", null)
.show();
}
return super.onOptionsItemSelected(item);
}
答案 1 :(得分:1)
Override
此方法
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
// do your stuff here for Upnavigation
onBackPressed();
}
return super.onOptionsItemSelected(item);
}
答案 2 :(得分:1)
是的,你可以做到......
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
onBackPressed();
}
return super.onOptionsItemSelected(item);
}