2014-01-22 5 views
0

먼저 나는 안드로이드 프로그래밍을하는 초보자이며 올바르게 이해하지 못할 수도 있음을 인정해야합니다.임시 로딩 화면

둘째로, 문제 : 내 응용 프로그램에서 로딩 화면을 만들었으며 theard와 함께이 화면의 시간을 제한하려고 했으므로 시간이 지나면 다른 화면으로 이동합니다. .

코드 :

public class MainActivity extends Activity implements OnClickListener { 

ImageView iv; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.loading_screen); 
    iv=(ImageView)findViewById(R.id.imgBtn1); 
    iv.setBackgroundResource(R.anim.loading_i_animation); 
    iv.setOnClickListener(this); 

    } 


public void onClick(final View iv) { 
    // TODO Auto-generated method stub 

    Thread t1=new Thread(new Runnable() { 

     @Override 
     public void run() { 

    AnimationDrawable anim=(AnimationDrawable) iv.getBackground(); 
    anim.start(); 

     } 
    }); 

    t1.start(); 
    try { 
     t1.sleep(2000); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    t1.stop(); 

    //The moving to the other screen 

    Intent st=new Intent(MainActivity.this,Welcome.class); 
    startActivity(st); 


} } 

의도 자체 일뿐만 아니라 loading_screen의 애니메이션. 그러나 내가 "t1.stop(); 쓰레드를 멈추기 위해 그것을 들었다.

답변

0

나는 알고 있습니다. 나는 finish()을 사용하는 것을 잊었고 계속 진행하려면 "finally"옵션을 가지고 있습니다.

올바른 코드 :

public class MainActivity extends Activity implements OnClickListener { 

ImageView iv; 
@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.loading_screen); 
    iv=(ImageView)findViewById(R.id.imgBtn1); 
    iv.setBackgroundResource(R.anim.loading_i_animation); 
    iv.setOnClickListener(this); 

    } 

@Override 
public boolean onCreateOptionsMenu(Menu menu) { 
    // Inflate the menu; this adds items to the action bar if it is present. 
    getMenuInflater().inflate(R.menu.main, menu); 
    return true; 
} 

@Override 
public void onClick(final View iv) { 
    // TODO Auto-generated method stub 

    Thread t1=new Thread(new Runnable() { 

     @Override 
     public void run() { 

      AnimationDrawable anim=(AnimationDrawable) iv.getBackground(); 
      anim.start(); 

     } 
    }); 
    t1.start(); 
    try { 
     t1.sleep(1000); 
     finish(); 
    } catch (InterruptedException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
    finally { 
     Intent st=new Intent(MainActivity.this,Welcome.class); 
     startActivity(st); 
    } 




} 
}