的Android +致命异常:定时器0(删除使用定时器的ImageView) [英] Android + FATAL EXCEPTION: Timer-0 (Removing ImageView using timer)
本文介绍了的Android +致命异常:定时器0(删除使用定时器的ImageView)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的Android应用程序,我使用的计时器显示用定时器,对应ImageViews。
我得到了一个错误
In my Android application, I am using timer to show corresponding ImageViews using TIMER. I got an error
02-27 06:39:33.999: E/AndroidRuntime(1325): FATAL EXCEPTION: Timer-0
02-27 06:39:33.999: E/AndroidRuntime(1325): android.view.ViewRootImpl$CalledFromWrongThreadException: Only the original thread that created a view hierarchy can touch its views.
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.ViewRootImpl.checkThread(ViewRootImpl.java:4746)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.ViewRootImpl.requestLayout(ViewRootImpl.java:823)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.View.requestLayout(View.java:15468)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.View.requestLayout(View.java:15468)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.View.requestLayout(View.java:15468)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.View.requestLayout(View.java:15468)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.View.requestLayout(View.java:15468)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.View.setFlags(View.java:8437)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.view.View.setVisibility(View.java:5714)
02-27 06:39:33.999: E/AndroidRuntime(1325): at android.widget.ImageView.setVisibility(ImageView.java:1161)
02-27 06:39:33.999: E/AndroidRuntime(1325): at com.SAI.timer.MainActivity$1.run(MainActivity.java:51)
02-27 06:39:33.999: E/AndroidRuntime(1325): at java.util.Timer$TimerImpl.run(Timer.java:284)
而code是:(如何使图像视线中消失这里)
And the code is : (How to Make A Image view disappear here,)
public class MainActivity extends Activity {
MediaPlayer mp;
ImageView firstImageView,secondImageView,thirdImageView,fourthImageView,fullImageView;
Timer t;
TimerTask welcome;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
firstImageView = (ImageView)findViewById(R.id.imageView1);
secondImageView = (ImageView)findViewById(R.id.imageView2);
thirdImageView = (ImageView)findViewById(R.id.imageView3);
fourthImageView = (ImageView)findViewById(R.id.imageView4);
fullImageView = (ImageView)findViewById(R.id.imageView5);
firstImageView.setOnClickListener (new ClickListener());
secondImageView.setOnClickListener(new ClickListener());
thirdImageView.setOnClickListener (new ClickListener());
fourthImageView.setOnClickListener(new ClickListener());
mp = MediaPlayer.create(getApplicationContext(), R.raw.yes);
t = new Timer();
welcome = new TimerTask(){
@Override
public void run() {
// TODO Auto-generated method stub
fullImageView.setVisibility(View.GONE);
}
};
}
class ClickListener implements OnClickListener {
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.imageView1:
mp.start();
firstImageView.setVisibility(View.GONE);
secondImageView.setVisibility(View.GONE);
thirdImageView.setVisibility(View.GONE);
fourthImageView.setVisibility(View.GONE);
fullImageView.setVisibility(View.VISIBLE);
fullImageView.setImageResource(R.drawable.ic_launcher);
t.schedule(welcome, 5000);
break;
case R.id.imageView2:
Toast.makeText(getApplicationContext(), "Oh !!! Wrong Yaar", Toast.LENGTH_SHORT).show();
break;
在这里我想媒体播放(5秒钟)停止后,使fullImageView消失(View.GONE)。
并返回到显示剩余Imageviews如上code中的previous活动: - )
here I want to Make the "fullImageView" Disappear(View.GONE) after the the media playing(5 Secs) is stopped. And Return to the previous activity showing remaining Imageviews As in the Above code:-)
推荐答案
使用该Handler做值为5000ms后什么
Use this Handler to do anything after 5000ms
try {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
//Your process to do
}
}, 5000);
} catch (Exception e) {
e.printStackTrace();
}
这篇关于的Android +致命异常:定时器0(删除使用定时器的ImageView)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文