天文台表开始活动时,到达时间 [英] chronometer start activity when time is reached

查看:110
本文介绍了天文台表开始活动时,到达时间的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我希望有一个新的活动启动时,一个新的活动达到了,到目前为止,我已经遇到了一些麻烦。这是我到目前为止所。我希望你们明白我要怎样做。如果是工作更简单的方法,请告诉我。也许我应该把这个主题?

 计时表=(天文台)findViewById(R.id.chronometer1);
        Chrono.start();
        而(!(Chrono.equals(chronoText))){
            。chronoText = Chrono.getText()的toString();
            如果(chronoText.equals(0点30分)){
                意向意图=新的意图(getApplicationContext()
                        Hw3Activity.class);
                startActivity(意向);
            }

        }
 

我的整个code:

 公共类下一步扩展活动{
        按钮返回;
        单击按钮;
        按钮搜索;
        的EditText clicksearch;
        TextView的计算;
        INT计数器;
        INT的答案;
        天文台计时;
        CharSequence的chronoText;

        公共无效的onCreate(包savedInstanceState){
            super.onCreate(savedInstanceState);
            的setContentView(R.layout.screentwo);
            //服务员=新服务员(60 * 1000); // 1分钟
            // waiter.start();

            计时表=(天文台)findViewById(R.id.chronometer1);
            Chrono.start();
            Log.d(EBZ,侏儒);
            返回=(按钮)findViewById(R.id.returned);
            点击=(按钮)findViewById(R.id.click);
            搜索=(按钮)findViewById(R.id.search);
            clicksearch =(EditText上)findViewById(R.id.clicksearch);
            数=(TextView中)findViewById(R.id.counted);
    天文台表(); //它在这里被称为
returned.setOnClickListener(新View.OnClickListener(){
                公共无效的onClick(视图v){
                    计数器= 0;
                    意向意图=新的意图(getBaseContext(),Hw3Activity.class);
                    答案= intent.getIntExtra(meaningOfLife,-1);

                    意图I = getIntent();
                    i.putExtra(returnInt,答案);
                    的setResult(RESULT_OK,我);
                    startActivity(意向);

                }
            });
            click.setOnClickListener(新View.OnClickListener(){
                公共无效的onClick(视图v){
                    反++;
                    counted.setText(将String.valueOf(计数器));
                    Chrono.setBase(SystemClock.elapsedRealtime());

                }
            });
            sea​​rch.setOnClickListener(新View.OnClickListener(){
                公共无效的onClick(视图v){
                    意向意图=新的意图(Intent.ACTION_WEB_SEARCH);
                    intent.putExtra(SearchManager.QUERY,clicksearch.getText()
                            的ToString());
                    startActivity(意向);
                }
            });
            clicksearch.setOnClickListener(新View.OnClickListener(){
                公共无效的onClick(视图v){

                }
            });
        }

        公共无效天文台表(){
            而(!(Chrono.equals(chronoText))){
                chronoText = Chrono.getText();
                Log.d(EBZ,使得它天文台表);
                counted.setText(将String.valueOf(chronoText));
                如果(chronoText.equals(0点10分)){
                    意向意图=新的意图(getApplicationContext()
                            Hw3Activity.class);
                    startActivity(意向);
                }

            }
        }
    }
 

解决方案

尝试实施 Chronometer.OnChronometerTickListener 活动并把code从计时表()在那里(或相关部分)。

 公共类下一个扩展活动
    实现Chronometer.OnChronometerTickListener {

    @覆盖
    保护无效的onCreate(包savedInstanceState){

        ...

        计时表=(天文台)findViewById(R.id.chronometer1);
        Chrono.setOnChronometerTickListener(本);
        Chrono.start();

        ...
    }

    公共无效onChronometerTick(天文台精密计时){
        如果(时间00:10.equals(chronometer.getText()){
            //创建意图,并在这里开始新的活动
        }
    }
}
 

I want a new activity to start when a new activity is reached, so far i've been having some trouble. This is what i have so far. I hope you guys understand what i am trying to do. If there is an easier way that works please tell me. perhaps i should put this in a thread?

 Chrono = (Chronometer) findViewById(R.id.chronometer1);
        Chrono.start();
        while (!(Chrono.equals(chronoText))) {
            chronoText = Chrono.getText().toString();
            if (chronoText.equals("00:30")) {
                Intent intent = new Intent(getApplicationContext(),
                        Hw3Activity.class);
                startActivity(intent);
            }

        }

My whole code:

    public class Next extends Activity {
        Button returned;
        Button click;
        Button search;
        EditText clicksearch;
        TextView counted;
        int counter;
        int answer;
        Chronometer Chrono;
        CharSequence chronoText;

        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.screentwo);
            // waiter = new Waiter(60 * 1000); // 1 min
            // waiter.start();

            Chrono = (Chronometer) findViewById(R.id.chronometer1);
            Chrono.start();
            Log.d("Ebz", "uhh");
            returned = (Button) findViewById(R.id.returned);
            click = (Button) findViewById(R.id.click);
            search = (Button) findViewById(R.id.search);
            clicksearch = (EditText) findViewById(R.id.clicksearch);
            counted = (TextView) findViewById(R.id.counted);
    chronometer(); // its called here
returned.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    counter = 0;
                    Intent intent = new Intent(getBaseContext(), Hw3Activity.class);
                    answer = intent.getIntExtra("meaningOfLife", -1);

                    Intent i = getIntent();
                    i.putExtra("returnInt", answer);
                    setResult(RESULT_OK, i);
                    startActivity(intent);

                }
            });
            click.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    counter++;
                    counted.setText(String.valueOf(counter));
                    Chrono.setBase(SystemClock.elapsedRealtime());

                }
            });
            search.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {
                    Intent intent = new Intent(Intent.ACTION_WEB_SEARCH);
                    intent.putExtra(SearchManager.QUERY, clicksearch.getText()
                            .toString());
                    startActivity(intent);
                }
            });
            clicksearch.setOnClickListener(new View.OnClickListener() {
                public void onClick(View v) {

                }
            });
        }

        public void chronometer() {
            while (!(Chrono.equals(chronoText))) {
                chronoText = Chrono.getText();
                Log.d("Ebz", "makes it to chronometer");
                counted.setText(String.valueOf(chronoText));
                if (chronoText.equals("00:10")) {
                    Intent intent = new Intent(getApplicationContext(),
                            Hw3Activity.class);
                    startActivity(intent);
                }

            }
        }
    }

解决方案

Try implementing Chronometer.OnChronometerTickListener on your Activity and put the code from chronometer() in there (or the relevant part).

public class Next extends Activity
    implements Chronometer.OnChronometerTickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {

        ...

        Chrono = (Chronometer) findViewById(R.id.chronometer1);
        Chrono.setOnChronometerTickListener(this);
        Chrono.start();

        ...
    }

    public void onChronometerTick(Chronometer chronometer) {
        if ("00:10".equals(chronometer.getText()) {
            // Create Intent and start the new Activity here
        }
    }
}

这篇关于天文台表开始活动时,到达时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆