제가 잠시 테스트용으로 아주 간단한거 만들어서 돌려봤는데
처음 그림에서 바뀌지않고 그대로인데 왜그럴까요?
for문 안돌리고 파일하나만
intro.setImageResource(0x7f020001);
이렇게 지정해주면 바뀌던데....
혹시나 +1 이나 ++이 안먹히나해서
intro.setImageResource(0x7f020001+1);
이렇게도 해봤는데 이것도 잘 되네요...
쓰레드가 제대로 동작을 안한걸까요?
그림파일 주소값이 이렇게 잡히길래
public static final int intro_0=0x7f020001;
public static final int intro_1=0x7f020002;
public static final int intro_2=0x7f020003;
public static final int intro_3=0x7f020004;
public static final int intro_4=0x7f020005;
public static final int intro_5=0x7f020006;
public static final int intro_6=0x7f020007;
public static final int intro_7=0x7f020008;
public static final int intro_8=0x7f020009;
이렇게 해봤는데 안되네요...
package com.intro;
import android.app.Activity;
import android.graphics.drawable.Drawable;
import android.os.Bundle;
import android.widget.ImageView;
public class intro extends Activity {
ImageView intro;
int image=0x7f020001;
int num;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
intro=(ImageView)findViewById(R.id.intro);
for(int i=0;i<100;i++)
num=i%10;
if(num<9){
try {
Thread.sleep(1000);
intro.setImageResource(image+num);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}
제가 토요일 스터디에서 언급했던
몇 초 후에 화면 자동으로 바뀌는...것을 해보고 계신거네요.^^
(어플 시작하는 대문?)
숙제 아닌 숙제이니 꼭 만들어 보시기 바랍니다.
일하시는분들이 제일 잘 보시네요 ^^;;
활성화좀 시켜야 할듯...ㅋ
처음화면을 쫌 멋나게 꾸미려다가 이렇게 막혔네요ㅋ
두분 답변 감사합니다ㅋ
layout폴더에 main말고 다른 xml파일을 만들어서
main에서 다른 xml로 화면이 바뀌는걸 해보고 있는데
다른 xml로 넘기려면 intent를 써야하나요?
setContentView를 다른 xml 로 바꾸는짓은 뒤로가기 키를
누르면 홈스크린으로 돌아가서 안되겠네요...ㄷㄷ
강좌에서 하라는대로 했을때 잘못되면 대부분 xml 이 잘못되었거나.. res 폴더내 데이터가 없거나..혹은 오타일 가능성이 제일 큽니다.
풀소스를 압축해서 질문하는게 제일 빠를듯하네요 ㅋ
흠.. 그냥.. 봐서는..
setImageResource 함수를 호출 한 후에.. intro를 refresh 하지 않은거 같은데요?
제가 아직 Java는 공부 중이라서.. 확답은 못하겠지만....
MFC에서 이런 비슷한 샘플을 짠다고 했을때 image resource를 변경 후에는 WM_PAINT 메세지나 invalidate() 함수로 refresh를 해줘야 하죠..
아마 비슷한경우가 아닐까 싶습니다만...




intro=(ImageView)findViewById(R.id.intro); 이런식으로 찾으시면 될듯한데.. 그리고 for루틴을 1부터 시작해서 num으로 계산하지 마시고i 값으로 더해서 사용해 보세요 ..ㅋㅋ 일단 한번은 될듯 합니다만.. 리소스 정보를 R.Class를 직접사용하시는것은 호환성에 문제가 생기므로 .. findViewById 를 사용해서 리소스 정보를 빼와야 할듯하네요..