当前位置:编程学习 > wap >>

如何实现多个TextView中的内容依次显示?

定义了2个TextView,如下:
public class MyActivity extends Activity {
private TextView textView_1; 
private TextView textView_2; 

public void RunSleep(int iSleepTime)
{
    try {
Thread.sleep(iSleepTime);
} catch (InterruptedException e) {
e.printStackTrace();
}  
}

  public void onCreate(Bundle savedInstanceState)
  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textView_1 = (TextView)findViewById(R.id.textView_1);
        textView_2 = (TextView)findViewById(R.id.textView_2);

        textView_1.setText("第一个!"); 
        RunSleep(5000);
        textView_2.setText("第二个!"); 
  }  
}
我本意是想在运行的时候先显示内容“第一个!”5秒后 再显示“第二个!”
但是运行的时候两个都同时显示出来了。

请问怎么实现依次显示啊?
谢谢! textview 依次 显示 --------------------编程问答-------------------- 你是在主线程中显示的
  public void onCreate(Bundle savedInstanceState)
  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textView_1 = (TextView)findViewById(R.id.textView_1);
        textView_2 = (TextView)findViewById(R.id.textView_2);

        textView_1.setText("第一个!"); 
        new Thread(){
            public void run(){
              try {
                      Thread.sleep(5000);
               }catch(Exception ex){
                     
               }
              
                 runOnUiThread(new Runnable(){
                      textView_2.setText("第二个!"); 
                 });       
            }
        }.start();
       
  }   --------------------编程问答--------------------
引用 楼主 jusinya2 的回复:
定义了2个TextView,如下:
public class MyActivity extends Activity {
private TextView textView_1; 
private TextView textView_2; 

public void RunSleep(int iSleepTime)
{
    try {
Thread.sleep(iSleepTime);
} catch (InterruptedException e) {
e.printStackTrace();
}  
}

  public void onCreate(Bundle savedInstanceState)
  {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        
        textView_1 = (TextView)findViewById(R.id.textView_1);
        textView_2 = (TextView)findViewById(R.id.textView_2);

        textView_1.setText("第一个!"); 
        RunSleep(5000);
        textView_2.setText("第二个!"); 
  }  
}
我本意是想在运行的时候先显示内容“第一个!”5秒后 再显示“第二个!”
但是运行的时候两个都同时显示出来了。

请问怎么实现依次显示啊?
谢谢!

你这样会阻塞的,5秒后才会显示界面...


		runOnUiThread(new Runnable() {
            
            @Override
            public void run() {
                textView_2.setText("第二个!"); 
                
            }
        });
--------------------编程问答-------------------- 错了,你要求的是5秒
给你个参考
		new Handler().postDelayed(new Runnable() {
            
            @Override
            public void run() {
               
                //do some thing
                
            }
        }, 5000);
--------------------编程问答--------------------
引用 3 楼 guoyoulei520 的回复:
错了,你要求的是5秒
给你个参考
		new Handler().postDelayed(new Runnable() {
            
            @Override
            public void run() {
               
                //do some thing
                
            }
        }, 5000);


顶一下高手,我一直觉得Handler是个很神奇的东西。 --------------------编程问答-------------------- 楼上解释很好 --------------------编程问答-------------------- 这写的啥玩意啊,你睡眠UI线程? --------------------编程问答--------------------
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textView1 = (TextView) findViewById(R.id.textView1);
textView3 = (TextView) findViewById(R.id.textView3);

textView1.setText("我是第一个文字");

new Handler().postAtTime(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
textView3.setText("我是第hahah个文字");
}
}, 50000);
}
我这么写的但是都在一起生成,没有出现逐渐显示效果,不知道怎么用Handler实现逐渐消失功能 --------------------编程问答--------------------
引用 7 楼 u010306446 的回复:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

textView1 = (TextView) findViewById(R.id.textView1);
textView3 = (TextView) findViewById(R.id.textView3);

textView1.setText("我是第一个文字");

new Handler().postAtTime(new Runnable() {

@Override
public void run() {
// TODO Auto-generated method stub
textView3.setText("我是第hahah个文字");
}
}, 50000);
}
我这么写的但是都在一起生成,没有出现逐渐显示效果,不知道怎么用Handler实现逐渐消失功能


你要的是动画吧

		showAnimation = new AlphaAnimation(0f, 1f);
showAnimation.setDuration(5000);
showAnimation.setFillAfter(true);
showAnimation.setInterpolator(new LinearInterpolator());

tv.clearAnimation();
tv.setAnimation(showAnimation);

补充:移动开发 ,  Android
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,