2011-09-10 2 views
0

안녕하세요 저는 안드로이드 OS 프로그래밍의 초보자입니다. 문제가 생겼습니다. 타이머를 기반으로하는 역동적 인 배경을 파악하는 방법을 알지 못합니다. (각 10 초마다 배경이 다른 것으로 바뀝니다.) 몇 가지 코드를 가지고 있지만 오류가 나오면, 여기에 샘플입니다 :동적 배경은 타이머 (선형 레이아웃)를 기반으로하는 방법?

private static final long GET_DATA_INTERVAL = 10000; 
int images[] = {R.drawable.smothie1,R.drawable.omletherb1}; 
int index = 0; 
ImageView img; 
Handler hand = new Handler(); 

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    this.setContentView(R.layout.main); 
    LinearLayout layout= (LinearLayout)findViewById(R.id.LinearView1); 
    hand.postDelayed(run, GET_DATA_INTERVAL); 
} 

Runnable run = new Runnable() { 
    public void run() { 
     layout.setBackgroundResource(LinearView1).getDrawable(images[index++]); 
     if (index == images.length) 
      index = 0; 
     hand.postDelayed(run, GET_DATA_INTERVAL); 

어떤 도움을 크게 apprieciated 될 것입니다 : D 덕분에

편집 :

: 내가 얻을 오류가이 선에있는
layout.setBackgroundResource(LinearView1).getDrawable(images[index++]); 
layout.setBackgroundResource(LinearView1).getDrawable(images[index++]); 

그것은 말한다 :

-layout이

년 - 방법 getDrawable (INT)

를 해결할 수없는


이 오류는 Object 유형에 대한 정의입니다 : 14,이 말한다 그 :

- 레이아웃을 해결할 수 없습니다

년 - 방법 getDrawable (INT)이

나는 마침내 그것을 밖으로 일한 :)

+1

어떤 오류를 정확히? – Staven

+0

다음을 읽어주세요 : D 코드를 받아들이는 것처럼 보입니다;) – Bercik

+0

@Albert : 질문에 추가 할 추가 정보가있는 경우 대답을 추가하는 대신 질문을 편집하십시오. 추가 한 내용은 질문에 답변하지 않기 때문에 '답변'이 아닙니다. –

답변

1

도와주세요 유형 개체에 대한 정의되지 않은 몇 가지 오류를 제거한 후 나는이 함께했다 (그리고 작업 한) :

public class CookBookActivity extends Activity { /** 활동이 처음 생성 될 때 호출됩니다. */

private static final long GET_DATA_INTERVAL = 1000; 
int images[] = {R.drawable.omletherb1,R.drawable.smothie1}; 
int index = 0; 
LinearLayout img; 
Handler hand = new Handler(); 
private LinearLayout layout; 

public void onCreate(Bundle savedInstanceState) 
{ 
    super.onCreate(savedInstanceState); 
    this.setContentView(R.layout.main); 
    layout = (LinearLayout)findViewById(R.layout.main); 
    hand.postDelayed(run, GET_DATA_INTERVAL); 

    Typeface tf2 = Typeface.createFromAsset(getAssets(), 
      "fonts/BPreplay.otf"); 
    TextView tv2 = (TextView) findViewById(R.id.textView2); 
    tv2.setTypeface(tf2); 


    Typeface tf = Typeface.createFromAsset(getAssets(), 
      "fonts/BPreplay.otf"); 
    TextView tv = (TextView) findViewById(R.id.textView1); 
    tv.setTypeface(tf); 


    Button mainNext = (Button) findViewById(R.id.nextScreen1); 
    mainNext.setOnClickListener(new OnClickListener() { 
     public void onClick(View v) { 
      Intent i = new Intent(); 
      i.setClassName("com.unKnown.cookbook", "com.unKnown.cookbook.screen1"); 
      startActivity(i); 

     } 
    }); 
} 

Runnable run = new Runnable() { 
    public void run() { 
     layout.setBackgroundDrawable(getDrawable(index++)); 
     if (index == images.length) 
      index = 0; 
     hand.postDelayed(run, GET_DATA_INTERVAL); 

    } 
}; 

protected Drawable getDrawable(int i) { 
    // TODO Auto-generated method stub 
    return getResources().getDrawable(images[i%2]); 
} 

}

관련 문제