2013-04-02 36 views
1

即時通訊新到Android和動作條工作,所以動作包含兩個ImageButton的和TextView的 這裏是動作條的快照:ImageButton的工作像後退按鈕的Android

enter image description here

紅色標記是的ImageButton 。

所以,問題是我們如何能夠移動到前一個活動或點擊屏幕或按下ImageButton的作爲默認的Android回做或是我去明確提到的意圖吧。

任何幫助將是great.Thanks

回答

2

在圖像按鈕,點擊只需添加finish();它帶你在以前的活動。

對於動作條:如果您使用的是下面的方法:

protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 

    setContentView(R.layout.main); 
    ActionBar actionBar = getActionBar(); 
    actionBar.setDisplayHomeAsUpEnabled(true); 

} 

,那麼你在以前的活動使用下面的代碼去:

@Override 
    public boolean onOptionsItemSelected(MenuItem item) { 
     // TODO Auto-generated method stub 
     if (item.getItemId() == android.R.id.home) { 
      finish(); 
     } 
     return super.onOptionsItemSelected(item); 
    } 

檢查這個link瞭解更多詳情。

這裏是圖像按鈕的全碼:

ImageButton imgBtn = (ImageButton)findViewById(R.id.imgbtn); 
     imgBtn.setOnClickListener(new OnClickListener() { 

      @Override 
      public void onClick(View v) { 
       // TODO Auto-generated method stub 
       finish(); 
      } 
     }); 
2

只需添加onclicklistener到ImageButton的,並調用finish();在onclick()方法:

ImageButton ib = (ImageButton)findViewById(R.id.button_id); 
ib.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     finish(); 
    } 
}); 
0

在大多數情況下,提供早在Android應用程序按鈕是失敗或壞主意。

即使這樣,如果你想實現後退按鈕導航則可以實現以下的事情:

  1. 覆蓋onBackKeyPressed()並調用它裏面finish()方法。
  2. 調用finish()方法裏面的按鈕點擊監聽器。
0

我有給你,應該是在動作條

@Override 
public boolean onCreateOptionsMenu(com.actionbarsherlock.view.Menu menu) 
{ 
    imageButton=(ImageButton)      menu.findItem(R.id.overflow).getActionView().findViewById(R.id.imageOverflow); 
} 
imageButton.setOnClickListener(new OnClickListener() { 

    @Override 
    public void onClick(View v) { 
     finish(); 
    } 
}); 
0

工作在圖像按鈕onclickListener只是調用finish()方法的代碼。

的ImageButton imagebtn_back =(的ImageButton)findViewById(R.id.imageButton1);

imagebtn_back.setOnClickListener(新OnClickListener(){

@Override 
public void onClick(View v) { 
    finish(); 
} 

});