0

Hey I am trying to make a dialog. But the whole dialog is not showing and only the bottom 3 imagebuttons are showing: What is wrong here? And when I click the buttons inside the dialog nothing happens even though I made a switch case.

customtype_dialog.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".AutoMode"
    android:background="@color/black" >    

<RelativeLayout 
    android:id="@+id/dialog_relativeLayout1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="3dp"    
    android:layout_above="@+id/dialog_relativeLayout2"
    android:layout_centerHorizontal="true" >

    <Button
        android:id="@+id/dialog_btn1"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margin="3dp"
        android:background="@drawable/track_run"
        android:layout_alignRight="@+id/dialog_relativeLayout1"
        android:layout_alignTop="@+id/dialog_relativeLayout1"
        />

    <Button 
        android:id="@+id/dialog_btn2"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margin="3dp"
        android:background="@drawable/track_bike"
        android:layout_alignTop="@+id/dialog_relativeLayout1"
        android:layout_toRightOf="@+id/dialog_btn1"
        />

    <Button 
        android:id="@+id/dialog_btn3"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margin="3dp"
        android:layout_toRightOf="@+id/dialog_btn2"
        android:background="@drawable/track_walk"
        />
 </RelativeLayout>

<RelativeLayout 
    android:id="@+id/dialog_relativeLayout2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_margin="3dp"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    >

    <Button 
        android:id="@+id/dialog_btn4"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margin="3dp"
        android:background="@drawable/track_ski"
        android:layout_alignRight="@+id/dialog_relativeLayout2"
        android:layout_alignTop="@+id/dialog_relativeLayout2"
        />

    <Button 
        android:id="@+id/dialog_btn5"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margin="3dp"
        android:background="@drawable/track_boat"
        android:layout_alignTop="@+id/dialog_relativeLayout2"
        android:layout_toRightOf="@+id/dialog_btn4"
        />

    <Button 
        android:id="@+id/dialog_btn6"
        android:layout_width="60dp"
        android:layout_height="60dp"
        android:layout_margin="3dp"
        android:background="@drawable/track_snow_boarding"
        android:layout_alignTop="@+id/dialog_relativeLayout2"
        android:layout_toRightOf="@+id/dialog_btn5"
        />
    </RelativeLayout>
</RelativeLayout>




routeType = (ImageButton)findViewById(R.id.saveRoute_activityType);
        routeType.setOnClickListener(typeListener);

SaveRouteActivity.java

This is my listener.

View.OnClickListener typeListener = new OnClickListener() {
                public void onClick(View v) {

                    switch(v.getId()){
                    case R.id.saveRoute_activityType:
                        Dialog typedialog = new Dialog(SaveRouteActivity.this);
                        typedialog.setContentView(R.layout.customtype_dialog);
                        typedialog.setTitle("Select type");
                        typedialog.setCancelable(true);
                        typedialog.show();
                        break;

                    case R.id.dialog_btn1:
                        txtType.setText("Run");
                        routeType.setBackgroundResource(R.drawable.track_run);
                        break;

                    case R.id.dialog_btn2:
                        txtType.setText("Bike");
                        routeType.setBackgroundResource(R.drawable.track_bike);
                        break;

                    case R.id.dialog_btn3:
                        txtType.setText("Walk");
                        routeType.setBackgroundResource(R.drawable.track_walk);
                        break;

                    case R.id.dialog_btn4:
                        txtType.setText("Ski");
                        routeType.setBackgroundResource(R.drawable.track_ski);
                        break;

                    case R.id.dialog_btn5:
                        txtType.setText("Boat");
                        routeType.setBackgroundResource(R.drawable.track_boat);
                        break;

                    case R.id.dialog_btn6:
                        txtType.setText("Snowboarding");
                        routeType.setBackgroundResource(R.drawable.track_snow_boarding);
                        break;
                    }

                }
            };
4

1 に答える 1

1

typedialog.setContentView(R.layout.customtype_dialog);ダイアログがまだ膨張していないため、無視されていると思います。この問題を解決するには、 のサブクラスを作成し、そのメソッドDialogを呼び出す必要があります。setContentView()onCreate()

于 2013-05-11T21:35:30.033 に答える