2017-06-06 86 views
0

在我的Android應用程序中,我用一個按鈕使用空的活動。如果我按下按鈕,我會打電話給一個有意向的新活動。但在新活動中,後退按鈕(左上角)跳回到最後一頁缺失。是不是已經有一個來自android studio的活動模板或一個特殊的意圖調用來做到這一點?或者做這件事的最好方法是什麼?Android新的意圖與後退按鈕

這是被稱爲按鈕按下

void scanClicked(View v){ 
    Intent intent = new Intent(this, ServiceActivity.class); 
    startActivity(intent); 
} 

的ServiceActivity的功能僅僅是一個空的活動

<activity 
     android:name=".LoginActivity" 
     android:label="@string/title_activity_login" 
     android:theme="@style/SplashTheme" 
     android:windowSoftInputMode="adjustPan"> 
     <intent-filter> 
      <action android:name="android.intent.action.MAIN" /> 

      <category android:name="android.intent.category.LAUNCHER" /> 
     </intent-filter> 
    </activity> 
    <activity 
     android:name=".NavigationActivity" 
     android:label="@string/title_activity_navigation" 
     android:theme="@style/AppTheme.NoActionBar" /> 
    <activity android:name=".ServiceActivity" 
     android:label="@string/annualServiceTitle"> 
    </activity> 
+1

顯示您的代碼。 –

+0

對不起,我編輯代碼 – WeSt

+0

您可以使用* supportFinishAfterTransition()*或簡單地調用* finish()*在新添加的活動的點擊事件 – Sanoop

回答

2

有2個選項來做到這一點。

要麼你可以使用android工具欄在你的XML Adding toolbar

也可以添加具有對齊佈局左側的ImageButton的佈局。然後你可以做到這一點。

ImageButton backBtn; 

backBtn = (ImageButton) findViewById(R.id.backBtn); 
backBtn.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View view) { 
      onBackPressed(); 
     } 
    }); 

希望這會有所幫助。

1

您需要使用setDisplayHomeAsUpEnabledServiceActivity.java這樣的:

public class ServiceActivity extends Activity { 
    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     // etc... 
     getActionBar().setDisplayHomeAsUpEnabled(true); 
    } 
... 
} 
1

試試這個

在要通過

Intent intent = new Intent(this, ServiceActivity.class); 
startActivity(intent); 

並移動到ServiceActivity呼叫意圖活動在服務活動處理點擊事件並調用

view.setOnClickListener(new View.OnClickListener() { 
    @Override 
    public void onClick(View view) { 
     supportFinishAfterTransition(); 
     // or call 
     finish(); 
    } 
}); 
2

在第二活動..make您的活動延長AppCompactActivity

,並在的onCreate活動添加

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 
getSupportActionBar().setHomeButtonEnabled(true); 

並重寫onOptionsItemSelected作爲

@Override 
public boolean onOptionsItemSelected(MenuItem item) { 

    if(item.getItemId() == android.R.id.home) 
    { 
     finish(); 
    } 
    return super.onOptionsItemSelected(item); 
} 
1

我用兩行代碼解決了這個問題:

在第二視圖的OnCreate:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); 

,並在清單中添加屬性「parentActivityName」第二種觀點:

android:parentActivityName="fronius.com.serviceapp_frontend.NavigationActivity" 
1

這是基於你的應用主題styles.xml文件中定義。

如果您正在使用DarkActionBar主題,那麼您的只是需要在清單文件中添加android:parentActivityName="fronius.com.serviceapp_frontend.NavigationActivity"


但是,如果你正在使用NoActionBar主題在你的活動中使用的工具欄(如材料設計提到的),你需要這行代碼中除了添加到可見上定位按鈕在活動指定parentActivityName
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

你也可以通過以下這行代碼更改向上導航按鈕圖標:
getSupportActionBar().setHomeAsUpIndicator(R.mipmap.ic_back);