如何更改正在运行的 AlertDialog 的文本

2023-12-02

如何更改文本上的当前字符串AlertDialog单击从 CalendarPickerFragment 中选择日期的按钮后。

这是警报对话框

    public class FragmentInicio extends Fragment{
       private static String date;

        public void addDate(){

        View view = (LayoutInflater.from(getActivity())).inflate(R.layout.alert_dialog,null);

      AlertDialog.Builder alertDialog = new AlertDialog.Builder(getActivity());
      alertDialog.setView(view);

      final TextView date_Text = view.findViewById(R.id.dateEditText);
      final ImageButton dateButton= view.findViewById(R.id.tareaFechaButton);
      dateButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View view) {
            CalendarPickerFragment newFragment = new CalendarPickerFragment();
            newFragment.show(getFragmentManager(), "DatePicker");

        }
    });

      date_Text.setText(date);

      alertDialog.setTitle("New Date");
      alertDialog.setCancelable(true).setPositiveButton("Save", new 
  DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
           //Some stuff
        }
    });

    alertDialog.setNegativeButton("Cancel", new 
   DialogInterface.OnClickListener() {
        @Override
        public void onClick(DialogInterface dialog, int which) {
            dialog.cancel();
        }
    });
  Dialog dialog = alertDialog.create();
dialog.show();

}

public static void displaydate(int year, int monthOfYear, int dayOfMonth) {
    date = String.format("%02d", dayOfMonth) + "/" + String.format("%02d", monthOfYear + 1) + "/" +
            String.format("%02d", year);
    Log.d("DTAG", "date: "+date);
}

日历选择器片段

public class CalendarPickerFragment extends DialogFragment implements  DatePickerDialog.OnDateSetListener {

private CalendarPickerFragment.OnDateReceiveCallBack mListener;
private Context context;

public interface OnDateReceiveCallBack {
    public void onDateReceive(int dd ,int mm, int yy);
}

@Override
public void onAttach(Context context) {
    super.onAttach(context);
    this.context = context;

    try {
        mListener = (CalendarPickerFragment.OnDateReceiveCallBack) context;
    } catch (ClassCastException e) {
        throw new ClassCastException(context.toString() + " must implement OnDateSetListener");
    }
}

public CalendarPickerFragment(){
}



@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {

    final Calendar cal = Calendar.getInstance();
    int year = cal.get(Calendar.YEAR);
    int month = cal.get(Calendar.MONTH);
    int day = cal.get(Calendar.DAY_OF_MONTH);

    return new DatePickerDialog(getActivity(), this, year, month, day);
}

@Override
public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
    Log.d(TAG, i + "/" + "/" + i1 + "/" + i2);
    mListener.onDateReceive(i,i1,i2);
}

好的,你可以使用你已经在你的alertDialog以下应该是你的CalendarPickerFragment

    public class CalendarPickerFragment extends DialogFragment implements  DatePickerDialog.OnDateSetListener {

        private CalendarPickerFragment.OnDateReceiveCallBack mListener;
        private Context context;

        private static CalendarPickerFragment.OnDateReceiveCallBack mListenerForAlertDialog;

        public interface OnDateReceiveCallBack {
            public void onDateReceive(int dd, int mm, int yy);
        }

        public static CalendarPickerFragment getInstance(CalendarPickerFragment.OnDateReceiveCallBack callback) {
            mListenerForAlertDialog = callback;
            return new CalendarPickerFragment();
        }

        @Override
        public void onAttach(Context context) {
            super.onAttach(context);
            this.context = context;

            try {
                mListener = (CalendarPickerFragment.OnDateReceiveCallBack) context;
            } catch (ClassCastException e) {
                throw new ClassCastException(context.toString() + " must implement OnDateSetListener");
            }
        }

        public CalendarPickerFragment() {
        }


        @Override
        public Dialog onCreateDialog(Bundle savedInstanceState) {

            final Calendar cal = Calendar.getInstance();
            int year = cal.get(Calendar.YEAR);
            int month = cal.get(Calendar.MONTH);
            int day = cal.get(Calendar.DAY_OF_MONTH);

            return new DatePickerDialog(getActivity(), this, year, month, day);
        }

        @Override
        public void onDateSet(DatePicker datePicker, int i, int i1, int i2) {
            Log.d("tag", i + "/" + "/" + i1 + "/" + i2);
            mListener.onDateReceive(i, i1, i2);
            mListenerForAlertDialog.onDateReceive(i, i1, i2);
        }

    }

现在初始化这个fragmnet如下

CalendarPickerFragment newFragment =  CalendarPickerFragment.getInstance(new CalendarPickerFragment.OnDateReceiveCallBack() {
                @Override
                public void onDateReceive(int dd, int mm, int yy) {
                    // boom you wil get the call back on each date selection here
                    //eidtTextOfALertDialog.setText("whatEver")
                }
            });
            newFragment.show(getFragmentManager(), "DatePicker");
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改正在运行的 AlertDialog 的文本 的相关文章

  • ACRA formkey 哪里可以得到?

    所以我尝试按照以下说明进行操作https github com ACRA acra wiki BasicSetup https github com ACRA acra wiki BasicSetup但它太旧了或者什么的 使用我自己的 gm
  • 在 Android 上下载时播放视频

    是否可以使用安全的 asp net 应用程序在 Android 上下载视频时流式传输视频 我有一个 https 安全的 ASP NET Web 应用程序 该应用程序专门为移动设备 例如 Iphone BB Android 等 制作 称为 M
  • 像 TreeView Android 一样的 ExpandableListview

    嘿我正在实施的人们TreeView using ExpandableListView 但不幸的是我有一些测量问题无法解决 这是问题的屏幕截图 可以看到测量存在问题 由于我是 Android 新手 我不太明白onMeasure 方法 我有 1
  • 将浮动从一个活动发送到另一个活动

    我正在开始 android 开发 但我不知道为什么我的代码不起作用 目标很简单 我有一个主要活动 一个菜单和第二个活动 我想从主活动发送一个浮点值到第二个活动 但是 它不起作用 这是我的 main 代码 public boolean onO
  • android php 连接错误? (添加java代码)

    我试图从 android 应用程序获取位置 纬度 经度 并使用 php 插入数据库 然后提取 10m 半径内的数据 问题是 当我使用智能手机测试代码时 本地测试正常 数据未正确插入 表 usergps 有 3 列 名称 纬度 经度 在我测试
  • Android SQLite 数据库 blob 数据类型

    我想将图像保存在数据库中 但我不确定一件事 我在扩展 SQLiteOpenHelper 的类上有这个方法 public boolean insertDemo byte a byte b byte c byte d SQLiteDatabas
  • Android 删除发件箱中的短信

    在 Android KitKat 之前 可以使用以下方法发送 SMS 消息 而无需将其存储在设备上已安装消息应用程序的已发送文件夹中 SmsManager sms SmsManager getDefault sms sendTextMess
  • 编辑项目后使用 ArrayAdapter 刷新 ListView

    我有一个 ListView 它显示使用 ArrayAdapter 从 SQLiteDatabase 中的表中获取的注释列表 public class NotepadActivity extends ListActivity protecte
  • 4.4 在运行时设置语言时内存(可能是上下文)泄漏

    我有一个起始活动 A 和语言选择活动 B 活动 A 有一个语言指示 单击后会启动活动 B 活动 B 有一个语言列表视图 单击后会在共享首选项中设置语言代码并启动活动 A 活动 A 会覆盖attachBaseContext方法 读取语言首选项
  • Android v <= ICS 连续语音识别 ERROR_NETWORK_TIMEOUT

    我通过以下方式创建了一个连续语音识别 Android 应用程序这个线程 https stackoverflow com questions 14940657 android speech recognition as a service o
  • 即使使用 kapt,房间“也找不到”的实现

    我正在尝试在我的项目中使用 Room Gradle 同步文件很好 但在尝试获取数据库实例时出现 RunitomeException 原因 java lang RuntimeException 找不到 com fillooow android
  • 通过 PC (Eclipse) 在物理设备上模拟来电

    我正在开发一个 Android 项目 我希望能够在物理设备上测试我的应用程序 我测试应用程序的唯一方法是接收传入的短信和电话 我知道我可以通过 telnet 或 Eclipse 中的 DDMS 在模拟器上模拟文本和调用 是否可以做同样的事情
  • 使用 Android 获取 Firebase 实时数据库中最后一个节点的数组元素

    如下图所示 我有一个数据库 表 名为fridge有一个孩子叫food food是一个可以包含一个或多个元素的数组 我想访问最后一个节点并获取食物元素并将它们添加到列表中 但我不知道该怎么做 感谢您的帮助 您可以按照docs https fi
  • 在 build.gradle 文件中添加 buildFeatures 时出错

    我正在尝试 compose 这是 Android jetpack 中的一项新功能 下面是我的代码 我在应用程序的 build gradle 文件中添加 buildfeatures 而不是在根文件夹中 android compileSdkVe
  • 提交搜索或选择搜索建议时隐藏键盘

    我有一个操作栏搜索小部件 也提供搜索建议 当用户输入查询并提交或选择搜索建议时 键盘不会消失 我该如何解决这个问题 我无法弄清楚如何在搜索提交或建议选择时隐藏键盘 谢谢 要隐藏输入法编辑器 请使用InputMethodManager Inp
  • Android 单例对话框

    我有一个处理大量进度对话框的 Android 应用程序 我必须为每个活动创建一个单独的对话框 对话框创建在构造时将活动 上下文 作为参数 有没有一种方法可以创建单个对话框 与应用程序而不是活动相关 并在不同的活动中显示它 这样我就不必重复创
  • “在包‘android’中找不到属性‘showAsAction’的资源标识符”

    我正在尝试更新我的 Android 应用程序 以便在运行 Honeycomb 的平板电脑上看起来更好 因此 我的目标是 SDK 版本 11 我的 minSdkVersion 4 这会将 Honeycomb 主题添加到我的应用程序中 使其看起
  • 应用程序在后台时的 GeoFence 设备

    我已经实现了 geoFence api 一切正常 但还是有一些问题 我想进一步澄清我的困惑 以下是一些困惑和问题 我希望我的用户在进入地理围栏区域时收到通知 我已经实施了地理围栏转换意图服务按照指南 但当应用程序处于后台时它不会触发转换 我
  • ubuntu升级到14.04 TLS后eclipse Juno经常自动关闭

    在升级到 14 04 之前 我只是在使用 eclipse 但是升级到 14 04 后 我的 eclipse 经常关闭 没有任何警告消息 它会在我的桌面上生成一个 hs err pid4612 log 文件 我该如何解决这个问题 在 ecli
  • 如何使用 Visual Studio 从 Xamarin.Forms 项目生成 .apk 文件?

    我有一个 Xamarin Forms 项目 我想将其作为apk 但是我找不到如何生成 apkVisual Studio 中的文件 我该怎么做 当使用 Visual Studio 2015 Update 3 和最新的 Xamarin 工具 编

随机推荐