У Red Hat есть программа, которая обнаруживает, какой (если есть) продукт виртуализации работает под: virt-what
.
Использование стороннего инструмента, это лучшая стратегия на долгое время, чем попытка опрокинуть собственную логику обнаружения: больше глаз (тестирование против продуктов виртуализации) и т. д.
Ну, это зависит от ваших потребностей. Очень часто я сохраняю ссылки на виджеты в активности (в виде полей класса) - и устанавливаю их в методе onCreate
. Думаю, это хорошая идея
.
Вероятно, причина Ваших нулей в том, что Вы пытаетесь вызвать findViewById()
перед установкой contentView()
в Вашем методе onCreate()
- пожалуйста, проверьте это.
Если вы делаете это до вызова метода setContentView()
, то значения будут нулевыми.
Это приведет к нулю:
super.onCreate(savedInstanceState);
Button btn = (Button)findViewById(R.id.btnAddContacts);
String text = (String) btn.getText();
setContentView(R.layout.main_contacts);
, в то время как это будет работать нормально:
super.onCreate(savedInstanceState);
setContentView(R.layout.main_contacts);
Button btn = (Button)findViewById(R.id.btnAddContacts);
String text = (String) btn.getText();