Невозможно изменить значение элементов файла макета Android.

Хотя все остальные ответы хороши, все еще одна вещь отсутствует:

Невозможно представить иррациональные числа (например, π, sqrt(2), log(3) и т. д.) точно!

И на самом деле их называют иррациональными. Никакого количества бит-памяти в мире было бы достаточно, чтобы провести хотя бы один из них. Только символическая арифметика способна сохранить свою точность.

Хотя, если вы ограничиваете свои математические потребности рациональными числами, только проблема точности становится управляемой. Вам нужно будет сохранить пару (возможно очень больших) целых чисел a и b, чтобы удерживать число, представленное фракцией a/b. Вся ваша арифметика должна быть сделана на дроби, как в математике на высшем уровне (например, a/b * c/d = ac/bd).

Но, конечно, вы все равно столкнетесь с такими же проблемами, когда pi, sqrt , log, sin и т. д.

TL; DR

Для аппаратной ускоренной арифметики может быть представлено только ограниченное количество рациональных чисел. Каждое не представимое число аппроксимируется. Некоторые числа (т. Е. Иррациональные) никогда не могут быть представлены независимо от системы.

0
задан GhostCat 13 July 2018 в 13:14
поделиться

1 ответ

ok, смотря на библиотеку, которую вы используете, я нашел это .setContentHolder(new ViewHolder(view))

, поэтому измените свой код с

DialogPlus dialog = DialogPlus.newDialog(this.context)
        .setContentHolder(viewHolder)
        .setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(DialogPlus dialog, Object item, View view, int position) {
            }
        })
        .setExpanded(true)  // This will enable the expand feature, (similar to android L share dialog)
        .create();

на

  DialogPlus dialog = DialogPlus.newDialog(this.context)
        .setContentHolder(new ViewHolder(dialogView ))
        .setOnItemClickListener(new OnItemClickListener() {
            @Override
            public void onItemClick(DialogPlus dialog, Object item, View view, int position) {
            }
        })
        .setExpanded(true)  // This will enable the expand feature, (similar to android L share dialog)
        .create();
0
ответ дан Adeel Turk 17 August 2018 в 12:51
поделиться
  • 1
    Спасибо большое! он работал отлично. но не могли бы вы объяснить, в чем разница между тем, как я установил макет для диалогового построителя и тем, как вы это сделали ?! – cup code 13 July 2018 в 13:44
  • 2
    вы не передавали свой пользовательский вид в диалоговом окне .. поэтому я передал его в объекте зрителя коротким новым ViewHolder (dialogView), это магическое заклинание здесь, стрелка abra ka dabra – Adeel Turk 13 July 2018 в 13:45
  • 3
    и ( github.com/orhanobut/dialogplus ) эта ссылка помогла мне, поэтому вы должны сначала прочитать инструкции git, приведенные здесь ... счастливое кодирование – Adeel Turk 13 July 2018 в 13:48
Другие вопросы по тегам:

Похожие вопросы: