2016-08-23 75 views
0

我无法从页面B导航到页面A,使用onBackpressed()(硬件按钮)它只是退出整个程序。 :(一直在尝试不同的代码,7个昼夜了。请有人可以帮助牛逼。onBackpressed()方法让我整夜保持清醒

我宣布清单文件

 <activity android:name="lk.ceesl.engteachersl.Nounintro" 
      android:parentActivityName="lk.ceesl.engteachersl.MainActivity"> 

     <meta-data 
      android:name="android.support.PARENT_ACTIVITY" 
      android:value="lk.ceesl.engteachersl.MainActivity" /> 

     </activity> 

然后我写的代码在MainActivity.java里面父活动名称覆盖onBackpressed()方法

@Override 
public void onBackPressed() { 

    moveTaskToBack(true); 

} 

现在它只是关闭在当我按下硬件后退按钮。请给我要我的应用程序的最重要组成部分的解决方案后台应用程序,并运行它与HW导航后退按钮(NOT动作b请返回ar)。非常感谢你提前这么多。

+0

你如何从MainActivity去Nounintro活动? –

+0

setContentView(R.layout.activity_nounintro); –

+0

@FernandoFrancis;这不是启动一项活动,而是为您的活动设置布局。你必须有'startActivity(新的Intent(MainActivity.this,Nounintro.class));'在你的主要活动 – 0xDEADC0DE

回答

0

我已经为您创建了一个示例项目。只是通过一个活动导航到另一个活动。

MainActivity

public class MainActivity extends AppCompatActivity { 

    Button button; 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 
     button = (Button) findViewById(R.id.button); 

     button.setOnClickListener(new View.OnClickListener() { 
      @Override 
      public void onClick(View v) { 
       Intent intent = new Intent(MainActivity.this,SecondActivity.class); 
       startActivity(intent); 
      } 
     }); 
    } 
} 

activity_main.xml中

<?xml version="1.0" encoding="utf-8"?> 
<RelativeLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    xmlns:tools="http://schemas.android.com/tools" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:paddingBottom="@dimen/activity_vertical_margin" 
    android:paddingLeft="@dimen/activity_horizontal_margin" 
    android:paddingRight="@dimen/activity_horizontal_margin" 
    android:paddingTop="@dimen/activity_vertical_margin" 
    tools:context="com.surroundapps.backbutton.MainActivity"> 

    <Button 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:text="Go to Second Activity" 
     android:id="@+id/button" 
     android:layout_centerVertical="true" 
     android:layout_centerHorizontal="true"/> 
</RelativeLayout> 

SecondActivity.java

public class SecondActivity extends AppCompatActivity { 

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

activity_second.xml

public class SecondActivity extends AppCompatActivity { 

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

AndroidManifest.xml中

<?xml version="1.0" encoding="utf-8"?> 
<manifest xmlns:android="http://schemas.android.com/apk/res/android" 
      package="com.shuvro.backbutton"> 

    <application 
     android:allowBackup="true" 
     android:icon="@mipmap/ic_launcher" 
     android:label="@string/app_name" 
     android:supportsRtl="true" 
     android:theme="@style/AppTheme"> 
     <activity android:name=".MainActivity"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN"/> 

       <category android:name="android.intent.category.LAUNCHER"/> 
      </intent-filter> 
     </activity> 
     <activity android:name=".SecondActivity"> 
     </activity> 
    </application> 

</manifest> 

希望这将有助于您了解如何通过活动

0

我认为这取决于您用来启动活动B的意图标志。理论上,如果您正确启动它,则不需要重写onBackPressed,我认为元数据PARENT_ACTIVITY不是必需的。

请发布您用于从活动A启动活动B并最终生成moveTaskToBack方法内容的代码。

+0

请忘记moveTaskback()。我只是把它放在实际上并不知道它是什么。我使用代码通过调用图像按钮的onClick方法来从活动A启动活动B.并且代码是启动B是setContentView(R.layout.activity_nounintro); –

+0

和页面A启动单顶页面B启动未指定 –

+0

请告诉我如何正确启动活动B,以便我可以随时使用DEFAULT ONBACKPRESSED()方法。这就是我需要的简单的学习应用程序 –

0

你需要实现向上导航导航。请参考这link