自动点击按钮为Android

时间:2017-05-01 04:19:06

标签: android-button

我是Android开发的新手。我之前查看了自动点击按钮帖子,但我仍然无法配置这些错误。 5秒计时器后 App停止工作

以下是我在MainActivity上的代码:

package com.example.cynog.autobutton;

import android.content.Intent;
import android.content.res.Resources;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;

public class MainActivity extends AppCompatActivity {

    private Button button1;

    protected void onCreate(Bundle savedInstanceState) {
        try {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);

            performClick();

            Thread timer = new Thread(){
                public void run(){
                    try{
                        sleep(5000);
                    } catch (InterruptedException e){
                        e.printStackTrace();
                    }finally{
                        button1.performClick();
                    }
                }
            };
            timer.start();
        } catch (Resources.NotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
    }

    public void performClick() {
        button1 = (Button) findViewById(R.id.button);
        button1.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                Intent i = new Intent(MainActivity.this, activity.class);
                startActivity(i);
            }
        });
    }
}

这是我的XML:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context="com.example.cynog.autobutton.MainActivity">


    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Button"
        android:onClick="performClick"
        tools:layout_editor_absoluteX="153dp"
        tools:layout_editor_absoluteY="209dp" />
</android.support.constraint.ConstraintLayout>

1 个答案:

答案 0 :(得分:1)

Button是在作为主线程的ui线程中创建的。 所以,如果你想用它做任何动作,请在handler.post(new Runnable(){void run(){//perform action here}内进行。制作一个Handler object in oncreate(). Handler handler=new Handler(). 并在睡眠后将handler.post()代码放入计时器线程运行方法中。我希望它有效。