2016-11-21 11 views
1

私が持っているもの:私はダイアログを表示しています。画面上の位置にクリックイベントを生成する方法

私がやろうとしていること:ダイアログの[はい]ボタンがクリックされた後にクリックイベントを実行しようとしています。 (それ触れずに

質問:それは、それを実行することが可能ですので、もしあればサンプル


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(); 
    } 
} 

activity_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> 
+1

あなたは(OKとし、キャンセルボタン)カスタムレイアウトとカスタムダイアログを作成して使用することができます** buttonObject.performClick(); **結果 – sajan

+0

を達成するために、私はこれをどのような究極的な目的は聞いてもいいですか?私は心配するつもりはありませんが、クリックをシミュレートする特別な理由がなければ、実際にクリックが発生したコードを直接呼び出すだけです。私はあなたのために何か特別なことが起こっていると推測していますが、これは実行不可能です。 – clownba0t

答えて

0

ダイアログ・インターフェースからクリックしたいボタンを見つけてからクリック・イベントを実行する必要があります。

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(); 
関連する問題