Проблема с 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);