有人点击但有一段时间后更改文字

时间:2015-10-22 09:04:13

标签: javascript java android xml android-studio

我想在一段时间后点击按钮按钮时更改文本

例如:有人点击按钮"新按钮"但是当有人点击文字后10或12小时内没有改变时,它就会改变文字。

我该怎么做?

也可以点击按钮重定向到网址。

2 个答案:

答案 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);
                }
            });