2016-08-19 100 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。 –