Скрыть TextView через некоторое время в Android
Я хочу скрыть TextView через некоторое время, скажем, 3 секунды. Я погуглил и нашел код, и я попробовал код, как показано ниже, но он не работает.
Пожалуйста, скажи мне, что в этом плохого ?
tvRQPoint.setText("+0");
tvRQPoint.postDelayed(new Runnable() {
public void run() {
tvRQPoint.setText("+0");
}
}, 3000);
еще одна вещь, как снять тайм-аут ? Как я использую это на click
событие ListView
, если пользователь нажимает на один вариант, а затем нажимает на второй вариант, то, как 3 секунды закончились (после нажатия на первый вариант), он не показывает второй вариант для 3 считанные секунды.
7 ответов
попробовать View INVISIBLE
или GONE
как:
tvRQPoint.postDelayed(new Runnable() {
public void run() {
tvRQPoint.setVisibility(View.INVISIBLE);
}
}, 3000);
Set View visibility
С вид.setVisibility (View.Невидимый / вид.Видимый|вид.Ушел);
Как спрятать свой текст с анимацией?
int delayMillis = 3000;
Handler handler = new Handler();
final View v = tvRQPoint; // your view
handler.postDelayed(new Runnable() {
@Override
public void run() {
TranslateAnimation animate = new TranslateAnimation(0,-view.getWidth(),0,0);
animate.setDuration(500);
animate.setFillAfter(true);
v.startAnimation(animate);
v.setVisibility(View.GONE);
}, delayMillis);
то, что вы пытаетесь сделать, это ок, но через три секунды вы хотите скрыть textview
чтобы использовать setVisibility
tvRQPoint.setText("+0");
tvRQPoint.postDelayed(new Runnable() {
public void run() {
tvRQPoint.setVisibility(View.INVISIBLE);
}
}, 3000);
попробуйте это-
Handler handler;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.start);
tvRQPoint.setText("+0");
handler = new Handler();
handler.postDelayed(csRunnable, 3000);
}
Runnable csRunnable =new Runnable()
{
@Override
public void run()
{
tvRQPoint.setVisibility(View.INVISIBLE);
}
};
попробуйте это...
public class MainActivity extends Activity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
final TextView tv=(TextView)findViewById(R.id.tv);
tv.setText("+0");
tv.postDelayed(new Runnable() {
public void run() {
tv.setVisibility(View.INVISIBLE);
}
}, 3000);
}
}
вы устанавливаете текст в методе run (). вы можете Скрыть текст двумя способами
View.INVISIBLE
- дайте пространство для textview и скрыть его содержимое
View.GONE
- удалить пространство для textview и скрыть его содержимое
так называем
tvRQPoint.setVisibility(View.INVISIBLE);
(or)
tvRQPoint.setVisibility(View.GONE);
надеюсь, что это работает:
tvRQPoint.setText("+0");
Timer timer = new Timer();
timer.schedule(new TimerTask() {
public void run() {
tvRQPoint.setVisibility(View.GONE);
}
},3000);