Это мой первый вопрос, но я пытаюсь задать его правильно.
Как сказано в заголовке, только на одной кнопке и только в android 3.1 findViewById (int) возвращает null. Тестирование на Android 2.2 работает, все остальные кнопки есть в обеих версиях Android. Он находит кнопки перед этой конкретной строкой и после нее.
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button buttonInfo = (Button)findViewById(R.id.buttonInfo);//fine
buttonInfo.setOnClickListener(this);
...
Button buttonCallOpScreen = (Button)findViewById(R.id.buttonCallOpScreen);//always returns null in android 3.1
...
Button buttonTakePicture = (Button)findViewById(R.id.buttonTakePictureMain);//fine
buttonTakePicture.setOnClickListener(this);
}
main.xml
:
(Я знаю, что не должен использовать px
, но он будет работать только на моем устройстве, так что в данном случае это нормально).
<Button
android:id="@+id/buttonInfo"
android:text=""
android:layout_width="332px"
android:layout_height="100px"
android:background="@drawable/btn_team" />
...
<Button
android:id="@+id/buttonCallOpScreen"
android:text=""
android:layout_width="332px"
android:layout_height="100px"
android:background="@drawable/btn_operator" />
...
<Button
android:id="@+id/buttonTakePictureMain"
android:text=""
android:layout_width="80px"
android:layout_height="80px"
android:background="@drawable/btn_take_picture"
android:layout_gravity="bottom|left" />
Любая помощь будет оценена, пока спасибо.
Ответ:
Получилось более чем некрасиво. Поскольку над этим проектом работает несколько человек, похоже, один из них изменил имя в layout-normal / main.xml. В то время как версии Android до 3.1, похоже, загружают layout / main.xml, более новые используют layout-normal / main.xml. И, как более чем понятно, если идентификатор этой кнопки другой, findViewById (int) должен возвращать null.
Извините, что побеспокоил вас, и спасибо за комментарии!
Поскольку у меня менее 100 репутации, я не могу ответить на свой вопрос, чтобы закрыть его. Если бы кто-нибудь мог опубликовать этот ответ, я бы принял его, спасибо.