2016-08-19 4 views
0

Я новичок в разработке Android-приложений, я пытаюсь установить фон непосредственно из ресурсов, и я продолжаю получать этот Ecxeption.

MainActivity.java

package imed.aouidene.com.wallpaper; 
import android.support.v7.app.AppCompatActivity; 
import android.os.Bundle; 
import android.view.View; 
import android.view.WindowManager; 
import android.widget.Button; 

public class MainActivity extends AppCompatActivity { 
    Button next; 
    int count; 
    int tab[] = new int[3]; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    getSupportActionBar().hide(); 
    getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN); 
    setContentView(R.layout.activity_main); 

    count = 0 ; 
    String s = "" ; 

    for(int i=0;i<3;i++){ 
     s="drawable/image"+(i+1)+".jpg"; 
     tab[i]=getResources().getIdentifier(s,"drawable",getPackageName()); 

    } 

    getWindow().setBackgroundDrawableResource(tab[count]); 


    next = (Button) findViewById(R.id.nextbutton); 
    next.setOnClickListener(new View.OnClickListener() { 
     @Override 
     public void onClick(View v) { 
      if (count < 2) { 
       count++; 
      } else { 
       count = 0; 
      } 
      getWindow().setBackgroundDrawableResource(tab[count]); 


     } 
    }); 


} 
} 

проблема заключается в:. GetWindow() setBackgroundDrawableResource (вкладка [число]);

+0

Я никогда не использовал этот 'getWindow(). SetBackgroundDrawableResource', как это, я обычно использую его в' PopupDialog' 'Window'. Но я рекомендую вам получить ссылку на основной макет вашего макета или что-то еще действительно, который вы можете использовать в качестве фона и сделать 'setBackground' там .. И какое исключение вы получаете? Я отвечаю вслепую здесь lol –

ответ

0

Вы должны изменить S, как это:

s = "image"+(i+1); 

просто получить имя ресурса!

+0

это сработало, thnx. –

Смежные вопросы