findViewById (int) возвращает null для одной конкретной кнопки в Android 3.1, в других версиях все нормально

Это мой первый вопрос, но я пытаюсь задать его правильно.

Как сказано в заголовке, только на одной кнопке и только в 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 репутации, я не могу ответить на свой вопрос, чтобы закрыть его. Если бы кто-нибудь мог опубликовать этот ответ, я бы принял его, спасибо.

6
задан stakx supports GoFundMonica 11 August 2012 в 13:39
поделиться