[英]“Back” button on Action bar - Android . How to go “back”?
我說的是(圖片中的數字1),帶有小箭頭和應用程序圖標的按鈕,以及屏幕的左上方。 當我們選擇“黑色活動”模板時,它會自動定義。
我的應用程序有一個非常龐大的層次結構圖,現在大約有25個活動。 我基本上只是顯示一些教程,並且可以根據類別瀏覽至該教程。
現在,操作欄上的“返回”(?)按鈕已經在我擁有的每個屏幕上,並且我確實希望保留它。 該代碼未顯示任何錯誤,但是當我實際按下該按鈕時,該應用程序停止工作。 我想要的是僅使用圖像中顯示的那個(數字1)按鈕復制實際的后退按鈕功能。 當我按它時,最上面的屏幕應該關閉,最后一個屏幕應該打開。 只需關閉屏幕即可。
我試過了
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
NavUtils.navigateUpFromSameTask(this);
return true;
}
return super.onOptionsItemSelected(item);
}
這是使越野車按鈕以及操作欄膨脹的功能。 我試圖替換整個代碼,並調用“完成”功能,但是失敗了。 我找不到最左上角按鈕專用的功能...
我希望在觸摸此按鈕時關閉堆棧中最上面的屏幕(前景中的一個)。 這該怎么做 ?
我認為最簡單的出路如下:
我假設從活動A
開始活動B
現在,您想從活動B
返回到活動A
,方法是按操作欄上的左上角后退按鈕。 只需從此處調用this.finish()
或ActivityName.this.finish()
:
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
this.finish();
return true;
}
return super.onOptionsItemSelected(item);
}
這應該完成您當前的活動。 但是,如果您有很多活動,那么您可能必須在所有活動中都這樣做。 為了節省您的時間,您可以創建一個類,命名為AbstractActivity
。 擴展了Activity
。 然后,您可以擴展所有其他活動類以擴展該類( AbstractActivity
)。 在AbstractActivity
內部,您可以放置上面的代碼。 因此,現在這段代碼將對您的所有活動均有效,並且對該功能也將對其全部實施。 基本上,當某些通用功能適用於您的許多類時,可以隨時使用這種東西( 繼承 )。
如果收到任何錯誤,請在需要進一步幫助的情況下發布LogCat
。 希望這對您有所幫助。
只是給出@shobhit puri給出的基本代碼...
用於調用操作欄的后退按鈕。在onCreate()方法中將以下代碼與onOptionsItemSelected一起添加。
protected void onCreate(Bundle savedInstanceState)
{
ActionBar actionBar = getActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_information);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
switch (item.getItemId()) {
case android.R.id.home:
this.finish();
return true;
}
return super.onOptionsItemSelected(item);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.