[英]Android: best way to make a View disappear after a defined amount of time
我想讓textView在一段確定的時間之后成功更改文本,然后消失。
我不確定最好的處理方法是什么。
使用Thread.sleep(2000);
,這顯然會使整個UI線程休眠。 使用Thread.sleep(2000);
內部AsyncTask
似乎是錯誤的。 另外,如果用戶離開需要由AsyncTask
更新的Activity,則將導致問題。
必須有一種更清潔的方法來實現這一目標。 如果您知道的話:請隨時回答:-)
您不需要創建處理程序:
view.postDelayed(new Runnable(){
@Override
public void run()
{
view.setVisibility(View.GONE);
}
}, 10000);
您可以為此使用Runnable
:
Handler myHandler = new Handler();
Runnable myRunnable = new Runnable() {
@Override
public void run() {
//Hide your view
}
};
然后,在更改文本后,添加以下內容:
myHandler.postDelayed(myRunnable, TIME_IN_MILLISECONDS);
希望能幫助到你。
你可以做這樣的事情嗎?
在您的活動中,創建一個處理程序:
Handler handler = new Handler()
{
@Override
public void handleMessage (Message msg)
{
if (msg.what == HIDE_VIEW)
hideView(); // defined elsewhere in your activitry
}
}
然后在要啟動計時器的位置執行以下操作:
postDelayed (new Runnable()
{
@Override
public void run()
{
Message msg = handler.obtainMessage();
msg.what = HIDE_VIEW;
msg.obj = null;
handler.sendMessage (msg);
}
}, 10000);
不知道您是否需要此級別的異步性。
抱歉,您對問題的解釋不正確,
使用textView .setVisibility(View.INVISIBLE)
在處理程序內
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.