java - Android AlertDialog 在特定 Activity 中不显示按钮

标签 java android xml android-layout android-alertdialog

我想显示一个带有是否选项的基本警报对话框,但这些方法似乎都不起作用。 显示了对话框,但"is"、“否”按钮没有我正在使用 API 26。 我在另一个 Activity 中显示警报对话框没有问题(它们都不是主要 Activity ),即使使用自定义布局也是如此。

我正在使用许多警报对话框,但有一个返回确认的示例。

@Override
    public void onBackPressed() {
        new AlertDialog.Builder(this)
                .setMessage(getResources().getString(R.string.goBackAlert))
                .setCancelable(false)
                .setPositiveButton(_yes, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        ScanRouteActivity.super.onBackPressed();
                    }
                })
                .setNegativeButton(_no, null)
                .show();
    }

此功能在另一个 Activity 中运行良好。

我也尝试过这样的事情:

 AlertDialog.Builder builder =new AlertDialog.Builder(getApplicationContext());
        builder.setMessage(getResources().getString(R.string.goBackAlert));
        builder.setCancelable(false);
        builder.setPositiveButton(_yes, new DialogInterface.OnClickListener() {
            public void onClick(DialogInterface dialog, int id) {
                QuarantineActivity.super.onBackPressed();
            }
        });
        builder.setNegativeButton(_no, null);

        AlertDialog dialog = builder.create();
        dialog.show();

并且

final AlertDialog.Builder builder = new AlertDialog.Builder(this)
                .setMessage(getResources().getString(R.string.goBackAlert))
                .setCancelable(false)
                .setPositiveButton(_yes, new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int id) {
                        QuarantineActivity.super.onBackPressed();
                    }
                })
                .setNegativeButton(_no, null);
        final AlertDialog ad  = builder.create();
        ad.show();

我已经尝试了以下 AlertDialog 导入:

import android.app.AlertDialog;
import androidx.appcompat.app.AlertDialog;

这是 Activity 的 XML 在此 Activity 中运行良好:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/colorBackground"
    tools:context=".ScanRouteActivity">

    <TextView
        android:id="@+id/txtVIdRoute"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        style="@style/TitleFont"
        android:text=""/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        style="@style/menuLabels"
        android:layout_gravity="center"
        android:id="@+id/txtVCurrentContent" />

    <FrameLayout
        android:id="@+id/frmScanContent"
        android:layout_width="match_parent"
        android:layout_height="match_parent"/>
</LinearLayout>

这里不起作用

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    android:background="@color/colorBackground"
    tools:context=".QuarantineActivity">


    <TableRow
        android:layout_height="wrap_content"
        android:layout_width="match_parent"
        >
        <TextView
            android:layout_height="wrap_content"
            android:layout_width="wrap_content"
            android:text="Select container type:"
            android:textColor="@android:color/black"
            />
        <Spinner
            android:id="@+id/spinQType"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:entries="@array/containerType_list"
            />
        <Button
            android:layout_marginStart="@dimen/default_margin"
            android:layout_gravity="center"
            android:gravity="center"
            android:drawableStart="@drawable/add_photo"
            android:id="@+id/btnAddPhoto"
            android:enabled="false"
            style="@style/circleBtnDark"/>
    </TableRow>


    <FrameLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:id="@+id/frmQuarantine"/>

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/imgVPhoto"
        android:maxWidth="150dp"
        android:minWidth="150dp"
        android:maxHeight="150dp"
        android:minHeight="150dp"
        android:layout_margin="@dimen/default_margin"
        android:longClickable="true"
        android:visibility="gone"
        app:srcCompat = "@drawable/no_image"/>


</LinearLayout>

最佳答案

好的, 请尝试

<ImageView
       ...
        android:src= "@drawable/no_image"/>

在 XML 中而不是

<ImageView
           ...
            app:srcCompat = "@drawable/no_image"/>

好运兄弟

关于java - Android AlertDialog 在特定 Activity 中不显示按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60638914/

相关文章:

java - 尝试/捕捉无限循环?

重置先前的选择后,JavaFX ComboBox 在下拉列表中的选择上未显示相同的值

java - 如何处置 JPanel - jPanel1.dispose() 或同等内容

android - 当键盘出现时 ActionBar 离开屏幕

android - glTexImage2D 在 Android 4.2.2 上比 4.2.0 慢得多

.net - XML 单元测试 : XmlUnit alternatives for . NET?

xml - 如何创建 MPEG-DASH 的 MPD 文件来播放 webm 视频?

java - Joda-Time 的大致时间段

Android 导航损坏

java - Android按钮图片抖动动画