Topic: Конвертер «38 попугаев»

Обсуждение статьи Конвертер «38 попугаев»

Re: Конвертер «38 попугаев»

Добрый день!
У меня кнопка не реагирует на нажатия. Независимо от того, ввожу какие-нибудь данные или нет.
В чём может быть причина

Re: Конвертер «38 попугаев»

Видимо, нет связи между кнопкой и кодом для щелчка.

4 (edited by Ant118 2016-03-18 23:16:55)

Re: Конвертер «38 попугаев»

Здравствуйте!
Вылетает с ошибкой

java.lang.RuntimeException: Unable to start activity
ComponentInfo{com.example.ant_design.converter/com.example.ant_design.converter.MainActivity}: android.view.InflateException: Binary XML file line #1: Error inflating class android.widget.RelativeLayout

P.S. Разобрался.
Я растяпа прописал
<string name="activity_color">#3399cc</color>,
а надо было 
<color name="activity_colorr">#3399cc</color>

Re: Конвертер «38 попугаев»

А вот такие дополнительные вопросы:
Поэкспериментировал немножко. Два десятичных разделителя ввести не удалось, хотя по идее, если я правильно понял, всего,то что я по вашему совету сделал - это разрешил во вводе только цифры и десятичные разделители?

Но это ерунда, другой вопрос мне интереснее:
Попробовал добавить поле "время". То есть хочу поле вида "2цифры:2цифры:2цифры" где первые 2 цифры из диапазона 0..23, следующие из 0..59
Для начала кинул на лайаут из группы Ntxt Fields элемент Time . Никто не запрещает вводить по многу двоеточий и по длинным чисам между двоеточиями
Попробовал кинуть туда просто Plain Text и поставил в InputType только Time - то же самое
По идее, если бы можно было устанавливать ограничение на поля ввода "только целое и минимальное 0, а максимальное 59" можно было бы просто обойтись тремя полями ввода для этого. Но как такое сделать?

Re: Конвертер «38 попугаев»

Как правило, вам самому придется отслеживать ввод и не давать вводить лишнее.

7 (edited by sxakludanto 2016-04-17 11:43:17)

Re: Конвертер «38 попугаев»

Покритикуйте, пожалуйста, если не лень мое решение того, что вы написали:
Сделал отдельный класс:

public class EditIntLimited {

    private EditText met;
    private int mlim;
    private String moldval;

    public EditIntLimited(EditText et,int lim)
    {
        met=et;
        mlim=lim;

        met.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                if (event.getAction()==KeyEvent.ACTION_DOWN) {
                    moldval = met.getText().toString();
                }

                if (event.getAction()==KeyEvent.ACTION_UP) {
                    String newval=met.getText().toString();
                    if (newval.length()<=0) return false;
                    try {
                        int res= Integer.parseInt(newval);
                        if (res<0 || res>mlim) {
                            met.setText(moldval);
                            //return true;
                        }
                    } catch (Throwable t) {
                        met.setText(moldval);
                        //return true;
                    }
                }

                return false;
            }
        });
    }
Там еще есть, но хватит...
}

и в oncreate вместо =(EditText)findviewbyid делаю типа
mSupTimeHours=new EditIntLimited((EditText)findViewById(R.id.suptimehour),23);

работает вроде в симуляторе по кр мере

8 (edited by tuta 2017-12-17 10:15:18)

Re: Конвертер «38 попугаев»

А как открыть панель propierties? Как ни старался, не нашел.