Search code examples
androidgenymotion

Android - Alert Dialog issue in GenyMotion


I am new in android programming and I want to make an alert dialog project.my xml file is ok but when i open the app in genymotion it does not show the alert dialog.this is my java codes:

package karimi.afshin.alertdialog;

import android.content.DialogInterface;
import android.support.v7.app.AlertDialog;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Toast;

public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
}
public void open(View view){
    AlertDialog.Builder alertDialogBuilder=new AlertDialog.Builder(this);
    alertDialogBuilder.setMessage("Are you sure,You wanted to make decision");

    alertDialogBuilder.setPositiveButton("yes", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface arg0, int arg1) {
            Toast.makeText(MainActivity.this,"You clicked yes button",Toast.LENGTH_LONG).show();
        }
    });
    alertDialogBuilder.setNegativeButton("No", new DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            finish();
        }
    });
    AlertDialog alertDialog=alertDialogBuilder.create();
    alertDialog.show();
}

}

and this is my xml file:

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Alert Dialog"
    android:layout_alignParentTop="true"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="32dp"
    android:id="@+id/textView1"
    android:textSize="25sp"
    android:textColor="@color/background_floating_material_dark" />

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textAppearance="?android:attr/textAppearanceLarge"
    android:text="Tutorialspoint"
    android:id="@+id/textView2"
    android:layout_below="@+id/textView1"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="25dp"
    android:textColor="#3db226"
    android:textSize="40sp" />

<ImageView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/imageView"
    android:src="@drawable/abc"
    android:layout_below="@+id/textView2"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="46dp" />

<Button
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="ALERT DIALOG"
    android:id="@+id/button"
    android:layout_below="@+id/imageView"
    android:layout_centerHorizontal="true"
    android:layout_marginTop="30dp" />

I want it to be like this picture but it does not show the dialog box!

enter image description here

Thanks:)


Solution

  • You don't need to change anything in your code. Just add android:onClick="open" in your Button layout. Like this:

    ...
        <Button
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="ALERT DIALOG"
            android:onClick="open"
            android:id="@+id/button"
            android:layout_below="@+id/imageView"
            android:layout_centerHorizontal="true"
            android:layout_marginTop="30dp" />
    ...
    

    Hope this helps!