Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/194.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在活动启动后更改空textview的值_Android - Fatal编程技术网

Android 在活动启动后更改空textview的值

Android 在活动启动后更改空textview的值,android,Android,我是Android新手。我有一个简单的应用程序,它有两个活动,运行如下: 活动1: 活动2: “额外信息”将在单个TextView上显示,并增加1次,重复10次每次添加的结果将在TextView上显示,延迟1000毫秒 Intent intent= getIntent(); String message=intent.getStringExtra(MainActivity.EXTRA_MESSAGE); int no= Integer.parseInt(message); TextView te

我是Android新手。我有一个简单的应用程序,它有两个活动,运行如下:

活动1: 活动2: “额外信息”将在单个
TextView
上显示,并增加1次,重复10次每次添加的结果将在
TextView
上显示,延迟1000毫秒

Intent intent= getIntent();
String message=intent.getStringExtra(MainActivity.EXTRA_MESSAGE);
int no= Integer.parseInt(message);
TextView textView=new TextView(this);
textView.setTextSize(40);
for(int i=0;i<10;i++)
{
    message=Integer.toString(no);
    textView.setText(message);
    setContentView(textView);
    no++;

    try {
        Thread.sleep(1000);
    } catch(InterruptedException e) {
    }
}
Intent-Intent=getIntent();
字符串消息=intent.getStringExtra(MainActivity.EXTRA_消息);
int no=Integer.parseInt(消息);
TextView TextView=新的TextView(此);
textView.setTextSize(40);
对于(int i=0;i只需在第二个活动的onCreate()方法中运行它。

在主(或UI)线程上调用Thread.sleep()是一个坏主意。事实上,任何停止主线程的操作都是一个坏主意。一个解决方案是:在第二个活动中创建一个处理程序,并对其进行延迟后运行。使用
Handler.postDelayed(Runnable r,long delayMillis)
在与处理程序关联的线程(在本例中为主线程)上调度runnable


您可以通过调用handler.removeCallbacks(updateTextRunnable);
来停止它--我让您决定停止运行它的位置。

您可以创建一个thread类的对象,并在其中放入皮带扣的代码

然后每次“for”迭代调用

thread.sleep(500);

这样,系统将在每次迭代中等待
0.5秒
,当我运行onCreate方法时,代码将运行,但问题是您无法看到添加步骤,只有在执行onCreate后才会显示结果。我需要查看文本视图更改,例如:用户输入为10。然后第二个活动应定期显示10 11 12 1314 15 16 17 18 19 20以1000毫秒的延迟在textview上。感谢您的回答,因为您在每次迭代中都会用无ans覆盖消息,然后将其设置为textview。请改用StringBuffer和append方法。类似于:StringBuffer sb=new StringBuffer();textview.setText(sb.append(no.toString());
private Handler handler;
private TextView textView;
private Runnable updateTextRunnable = new Runnable() {
    public void run() {
        String message = ...
        textView.setText(message);
        handler.postDelayed(this, 1000);
    }
};

public void onCreate(Bundle saved) {
    super.onCreate(saved);
    setContentView(R.layout.your_layout);

    textView = (TextView) findViewById(R.id.your_text_view_id);
    handler = new Handler();
}

public void onResume() {
    super.onResume();
    handler.postDelayed(updateTextRunnable, 1000);
}
thread.sleep(500);