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();为了达到这个结果,我想问一下,这样做的最终目的是什么?我不是想打听,但除非有特别好的理由来模拟点击,否则我通常只会直接调用实际发生点击时运行的代码。我猜你有什么特别的事情使得这不可行?