2016-08-23 23 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