2012-11-12 125 views
1

我试图与配置后退按钮:在哪里放置onBackPressed

Public void onBackPressed(){return;} 

但它不会让任何东西(我也试图与super.onBack ......与终点)。我的应用程序是一个基于以下内容的业余应用程序:Onclik X按钮:“english”,因此它向您展示英语活动。还有100多个活动。

package com.example.speakcat; 

import android.os.Bundle; 
import android.app.Activity; 
import android.view.Menu; 
import android.view.View; 

public class MainActivity extends Activity { 
    @Override 
    public void onBackPressed() { 
     super.onBackPressed(); 
    } 

    @Override 
    public void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
    } 

    public void english(View view) 
    { 
     setContentView(R.layout.activity_english); 
    } 

onBackPressed位置良好?因为在这里它什么都不做。 我希望你能帮助我,谢谢。

回答

0

您必须重写调用super的方法。如果你的想法回到他以前的Activity,那么这就是你需要做的。

@Override 
public void onBackPressed() { 
    super.onBackPressed(); 
} 
+0

我不知道为什么但不工作,我把它放在正确的位置?我刚刚更新了我的问题以显示我当前的代码。 – user1816946

+0

太奇怪了!你能显示你的mnifest文件吗? – yugidroid

0

完成当前的活动,将自动转到以前的一个

@Override 
public void onBackPressed() 
{ 
    finish(); 
} 
+0

它关闭应用程序。我认为那是因为它认为只有一项活动。我第一次运行应用程序时,应用程序菜单上的所有活动都已完成。然后我在这里读到了从androidmanifest中删除所有活动,现在我只有Mainactivity。我怎样才能把一个活动放在另一个里面? – user1816946

+0

创建另一个活动,然后在Manifest中注册。 –

+0

是的,但是在清单上,所有内容都是平行的,我试图在Mainactivity user1816946

0
@Override 
public boolean onKeyDown(int keyCode, KeyEvent event) { 

    if (keyCode == KeyEvent.KEYCODE_BACK) { 
     Log.d("CDA", "onKeyDown Called"); 
     onBackPressed(); 
     return true; 
    } 

    return super.onKeyDown(keyCode, event); 
} 
public void onBackPressed() { 
    Intent myIntent = new Intent(YourActivity.this, SecondActivity.class);//goto whichever activity you want by clearing top of stack. 
    myIntent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);// clear top of stack 
    startActivity(myIntent); 
    finish(); 
    return; 
} 

你可以打电话完成,如果你想回到以前的活动。 如果您有Actvity A并且您导航到B. A将转到背景。它在活动堆栈上。在完成活动B弹出堆栈和活动A来到前台。 http://developer.android.com/guide/components/tasks-and-back-stack.html。看看这个链接。

+0

好的,我理解了任务和堆栈的东西,但是如果我使用你的代码,它会显示出3个错误,其中两个与keyeveny(我创建了一个类,但没有任何东西)。我看到你的代码与旧版本,我使用4.0它应该工作? – user1816946

+0

可以发布logcat的详细信息。 – Raghunandan