我想在一段时间后点击按钮按钮时更改文本
例如:有人点击按钮"新按钮"但是当有人点击文字后10或12小时内没有改变时,它就会改变文字。我该怎么做?
也可以点击按钮重定向到网址。
答案 0 :(得分:0)
尝试此操作以在一段时间后更改文本:
button.setOnClickListener (new OnClickListener(){
@Override
public void onClick(View v) {
Timer timer=new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
text.settext("What do you want");
}
},when);
}
});
答案 1 :(得分:0)
当用户点击该按钮时,使用SharedPreferences
保存时间。
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Get current time
Date currentDate = new Date();
// Save time
SharedPreferences prefs = getSharedPreferences("saveddata.xml", 0);
SharedPreferences.Editor editor = prefs.edit();
editor.putLong("savedtime", currentDate.getTime());
editor.commit();
}
});
每次活动开始时都会检查时差。
// Get date from pref
Date oldDate = new Date(prefs.getLong("savedtime", 0));
// Compare dates
// 43200000ms is 12hrs
if (currentDate.getTime() - oldDate.getTime() > 43200000) {
button.setText("Text changed!");
}
您无法使用TimerTask
,因为如果您的活动被系统杀死,它将被销毁。 (很可能在12小时内发生)
要回答第二个问题,您可以创建ACTION_VIEW
打开网址的意图:
button.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setData(Uri.parse("http://www.example.com"));
startActivity(intent);
}
});