Есть ли метод getContentView, например setContentview?

Мне нужно получить имя макета или идентификатор макета в методе onKeyDown. Есть ли способ найти текущее имя макета.

 @Override
 public boolean onKeyDown(int keyCode, KeyEvent event)  {
 if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 

 return true;
 }
 return super.onKeyDown(keyCode, event);
 }

person arnp    schedule 14.10.2011    source источник
comment
Вы можете сохранить идентификатор как глобальную переменную int в своем классе, которая расширяет активность во время setContentView, а затем получить к ней доступ в методе onKeyDown.   -  person Ashwin N Bhanushali    schedule 14.10.2011
comment
Как получить доступ к моему методу onKeyDown.   -  person arnp    schedule 14.10.2011
comment
опубликуйте свой код активности, я покажу вам, как это сделать.   -  person Ashwin N Bhanushali    schedule 14.10.2011


Ответы (1)


используйте следующий код.

class myactivity extends Activity{
int layoutid;

@Override
public onCreate(Bundle b){
     setContentView(R.id.mainlayout);
     layoutid = R.id.mainlayout;
}

@Override
 public boolean onKeyDown(int keyCode, KeyEvent event)  {
 if (keyCode == KeyEvent.KEYCODE_BACK && event.getRepeatCount() == 0) { 
     // here you can access the layoutid variable 
     // implement your logic here
 return true;
 }
 return super.onKeyDown(keyCode, event);
 }

}

наслаждаться...

person Ashwin N Bhanushali    schedule 14.10.2011