2013-04-24 2 views
1

Привет Я вызываю операцию с кликом ImageButton, но она не завершит текущую активность.Текущая активность не закрывается (заканчивается) при нажатии кнопки

btn_home.setOnClickListener(new View.OnClickListener() { 

      public void onClick(View view) { 

       Intent i = new Intent(getApplicationContext(), GridActivity.class); 
       i.putExtra("feed", _rssFeed); 
       startActivity(i); 

       SwipeDetailView.this.finish(); 
      } 
     }); 

Однако, если я нажму кнопку «Дом» в меню «Actionbar» в том же классе, он закрывается нормально.

public boolean onOptionsItemSelected(MenuItem item) { 
    switch (item.getItemId()) { 

    case android.R.id.home: 

     finish(); 
     return true; 
    } 
    return super.onOptionsItemSelected(item); 
} 
+0

Я установил ее. Я забыл добавить финиш() в другой класс активности. Благодаря! – user1781367

+1

Это плохой способ задать вопрос. Пожалуйста, будьте внимательнее в будущем, чтобы не тратить время на то, как люди пытаются решить вашу проблему. – Egor

+0

сделаю. Спасибо за ваш комментарий. – user1781367

ответ

5

Вы вызываете закончить на View.OnClickListener контексте вместо этого вы должны сделать ACTIVITYCLASSNAME.this.finish()

+0

Это правильный способ закрыть Activity в OnClickListener. – Andres

+1

Я устал от ACTIVITYCLASSNAME.this.finish(), но это тоже не сработает. – user1781367

+0

также обратите внимание, что значение R.id.home не равно android.R.id.home внутри onOptionsItemSelected – rajeemcariazo

Смежные вопросы