大家好,我试图在短暂的延迟后更新UI,为此,我使用了处理程序的postdelayed方法。以下代码最初将我的textview文本设置为“ Processing”,并且处理程序的runnable中包含的代码将被执行,但不会更新UI?请注意,这是在片段中完成的

TextView progressText=(TextView)parent.findViewById(R.id.inProgressText);
progressText.setText("Processing");

getActivity().getMainLooper()).postDelayed(new Runnable() {
    @Override
    public void run() {
        TextView progressText=(TextView)parent.findViewById(R.id.inProgressText);
        progressText.setText("Request completed");
    }
}, 3000);


谢谢你的帮助

最佳答案

更改

getActivity().getMainLooper()).postDelayed(new Runnable()


至:

final Handler handler = new Handler();


然后

handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        final TextView progressText=(TextView)findViewById(R.id.inProgressText);
        progressText.setText("Request completed");
    }
}, 3000);

09-11 19:41