Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/309.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何在屏幕上的位置上生成单击事件_Java_Android_Onclick - Fatal编程技术网

Java 如何在屏幕上的位置上生成单击事件

Java 如何在屏幕上的位置上生成单击事件,java,android,onclick,Java,Android,Onclick,我正在进行的内容:我正在进行一项活动,其中显示一个对话框 我正在尝试执行的操作:我正在尝试在对话框显示后对“是”按钮执行单击事件。(不触摸它) 问题:是否可以执行此操作,如果可以,请选择任何样本 MainActivity.java public class MainActivity extends AppCompatActivity { RelativeLayout activity_main; float centreX,centreY; @Override

我正在进行的内容:我正在进行一项活动,其中显示一个对话框

我正在尝试执行的操作:我正在尝试在对话框显示后对“是”按钮执行单击事件。(不触摸它

问题:是否可以执行此操作,如果可以,请选择任何样本


MainActivity.java

public class MainActivity extends AppCompatActivity {


    RelativeLayout activity_main;
    float centreX,centreY;

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

        activity_main=(RelativeLayout) findViewById(R.id.activity_main);

        setDialog();

    }

    private void setDialog() {

        int mWidth= this.getResources().getDisplayMetrics().widthPixels;
        int mHeight= this.getResources().getDisplayMetrics().heightPixels;


        simulateClick(mWidth+200,mHeight+200);

        new AlertDialog.Builder(MainActivity.this)
                .setTitle("Woahhhh")
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // continue with delete
                    }
                })
                .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // do nothing
                    }
                })
                .setIcon(android.R.drawable.ic_dialog_alert)
                .show();
    }
}
活动\u main.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/activity_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context="com.testing.touchevent.MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!" />
</RelativeLayout>

您必须从对话框界面找到要单击的按钮,然后对其执行单击事件

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
                .setTitle("Woahhhh")
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // continue with delete
                    }
                })
                .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // do nothing
                    }
                })
                .setIcon(android.R.drawable.ic_dialog_alert);
        AlertDialog dialog = builder.create();
        dialog.show();
        dialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();

您必须从对话框界面中找到要单击的按钮,然后对其执行单击事件

AlertDialog.Builder builder = new AlertDialog.Builder(getActivity())
                .setTitle("Woahhhh")
                .setPositiveButton(android.R.string.yes, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // continue with delete
                    }
                })
                .setNegativeButton(android.R.string.no, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                        // do nothing
                    }
                })
                .setIcon(android.R.drawable.ic_dialog_alert);
        AlertDialog dialog = builder.create();
        dialog.show();
        dialog.getButton(AlertDialog.BUTTON_POSITIVE).performClick();

您可以使用自定义布局(使用“确定”和“取消”按钮)创建自定义对话框,并使用buttonObject.performClick();为了达到这个结果,我想问一下,这样做的最终目的是什么?我不是想打听,但除非有特别好的理由来模拟点击,否则我通常只会直接调用实际发生点击时运行的代码。我猜是有什么特别的事情发生在你身上,这使得这不可行?你可以创建一个带有自定义布局的自定义对话框(使用“确定”和“取消”按钮),并使用buttonObject.performClick();为了达到这个结果,我想问一下,这样做的最终目的是什么?我不是想打听,但除非有特别好的理由来模拟点击,否则我通常只会直接调用实际发生点击时运行的代码。我猜你有什么特别的事情使得这不可行?