2016-08-19 104 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' ..你會得到什麼異常?我回答盲目這裏笑 –

回答

0

你應該改變就像這樣:

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

剛剛得到的資源名字!

+0

它的工作,日Thnx。 –