Intereting Posts
Невозможно построить тесты с помощью Gradle (decard-gradle) Не удалось экспортировать приложение после обновления до Proguard 4.8 Как отключить кнопку, как только ее щелкнули Не удается подписаться на RxJava 2, наблюдаемый с помощью TestSubscriber Android BottomSheet: находится под панелью инструментов В Firebase 9.0.0 API, как проверить, что пользователь имеет действительный сеанс аутентификации или нет? Как обновить номер уведомления Усовершенствования аппаратного ускорения аппаратного обеспечения Android WebView Artefact Android Bluetooth API подключается к нескольким устройствам Существует ли HttpClient, который обрабатывает запросы кэширования самостоятельно? Использование планировщика заданий в Android API <21 Платежи разработчиков Android без кредитной карты? API местоположений Google: запрашивать обновления местоположения с ожидающим намерения? Android adb над Wifi install apk LeftNavBar создает черную полосу в верхней части действия

Проблема с LinearLayout findViewById

Моя проблема, вероятно, довольно проста, и я просто слишком глуп. Я определил LinearLayout в моем файле layout.xml и хочу установить фоновый рисунок в коде.

layout.xml

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linlay" android:orientation="vertical" android:layout_width="fill_parent"> </LinearLayout> 

.Ява

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); LinearLayout ln = (LinearLayout) this.findViewById(R.id.linlay); setContentView(ln); ln.setBackgroundDrawable(getResources().getDrawable(R.drawable.wallpaper)); } 

Если я запустил приложение, он сказал, что приложение неожиданно остановилось. есть идеи?

Solutions Collecting From Web of "Проблема с LinearLayout findViewById"

Вы должны установить макет для своей деятельности из ресурсов

 setContentView(R.layout.my_layout); 

Затем вы можете вызвать findViewById ()

 public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.my_layout); // add this code LinearLayout ln = (LinearLayout) this.findViewById(R.id.linlay); ln.setBackgroundDrawable(getResources().getDrawable(R.drawable.wallpaper)); } 

В вашем случае вы можете просто установить обои в файле ресурсов xml, добавив LinearLayout

 android:background="@drawable/wallpaper" 

Вы не загружаете макет

Вам нужно загрузить на xml-макет перед использованием findViewById

 setContentView(R.layout.aLayout);