2015-05-08 73 views
2

我有,我想有通常的後退按鈕相同功能的按鈕。但只是調用finish()沒有執行所需的如何按鈕動作複製回另一個按鈕

我試過打電話onBackPressed()但它需要創建一個單獨的方法。任何解決方案

t1.setOnClickListener(new OnClickListener() { 

     @Override 
     public void onClick(View arg0) { 
      // TODO Auto-generated method stub 
      /*Intent i1=new Intent(getApplicationContext(), MainView.class); 
      startActivity(i1); */ 
      //finish(); 

      this.onBackPressed() ; 

     } 


    }); 
+1

你是什麼意思「它需要創建一個單獨的方法」? – AlvaroSantisteban

+0

錯誤消息:該方法onBackPressed()是未定義的新View.OnClickListener –

+1

類型是的,那是因爲你的'this'從OnClickListener的一個,而不是一個從你的活動或片段。保存上下文並在那裏使用它。 – AlvaroSantisteban

回答

2

在你的代碼this.onBackPressed();意味着你的呼籲的方法OnClickListener,它不存在。反而像這樣稱呼它:

Your_Activity_Name.this.onBackPressed(); 

其中Your_Activity_Name是您的活動的名稱。

5

當你鍵入this.onBackPressed()代表OnClickListener對象,而不是你的活動。

YourActivityName.this.onBackPressed() 

或只是

onBackPressed() 

在最後嘗試,你有這樣的事情:

t1.setOnClickListener(new OnClickListener() { 
    @Override 
    public void onClick(View arg0) { 
     YourActivityName.this.onBackPressed(); 

     // onBackPressed(); 
     // will do the same 
    } 
}); 
+0

感謝YourActivityName.this.onBackPressed()的作品。 –

+0

@SomnathPal然而你接受了和我一樣的答案,那是在我之後來的。 :d – dmestrovic

+0

@dmestrovic抱歉打擾,但我的答案後,你的答案就幾秒鐘:)請檢查時間對問題.. –