我想在n秒后使用handler更改textview的文本。各种字符串存在于字符串数组中。 (在UI上更新文本视图)
以下代码使应用程序每次都崩溃。该怎么办?
公共类Main2Activity扩展AppCompatActivity {
TextView textView;
Handler handler = new Handler();
String[] arr = getResources().getStringArray(R.array.wat1);
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main2);
textView = (TextView)findViewById(R.id.textView);
Runnable r = new Runnable() {
int len = arr.length;
@Override
public void run() {
textView.setText(arr[len-1]);
len--;
if(len!=0){
handler.postDelayed(this,2000);
}
}
};
handler.post(r);
}
}
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
textView.setText(yourArray[0]); //set text here
}
}, 1000); //1000 = 1 second
使用处理程序
Handler handler = new Handler(Looper.getMainLooper());
handper.postDelayed(runnable, 3000);
如果runnable是您更改文本的操作,则3000是以毫秒为单位的时间,其中3000等于3秒。
试试这个::
textView.postDelayed(new Runnable() {
@Override
public void run() {
// set text
textView.setText("Text");
}
},300) // Time in millisecond