Есть ли какой-либо метод getContentView, подобный setContentView?

#android #android-layout #actionlistener

#Android #android-layout #actionlistener

Вопрос:

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

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

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

Комментарии:

1. Вы можете сохранить id как глобальную переменную int в своем классе, которая расширяет активность во время setContentView, а затем получить к нему доступ в методе onKeyDown.

2. Как получить доступ к моему методу onKeyDown.

3. опубликуйте свой код действия, я покажу вам, как это сделать.

Ответ №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 amp;amp; event.getRepeatCount() == 0) { 
     // here you can access the layoutid variable 
     // implement your logic here
 return true;
 }
 return super.onKeyDown(keyCode, event);
 }
  

}

наслаждайтесь…