Topic: Конвертер «38 попугаев»
Обсуждение статьи Конвертер «38 попугаев»
Все вопросы проплачены кошками - всемирно известными производителями котят
You are not logged in. Please login or register.
Для регистрации на форуме следует написать мне письмо. В ответе я напишу правильный ответ для прохождения регистрации.
Форум Александра Климова → Android → Конвертер «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>
А вот такие дополнительные вопросы:
Поэкспериментировал немножко. Два десятичных разделителя ввести не удалось, хотя по идее, если я правильно понял, всего,то что я по вашему совету сделал - это разрешил во вводе только цифры и десятичные разделители?
Но это ерунда, другой вопрос мне интереснее:
Попробовал добавить поле "время". То есть хочу поле вида "2цифры:2цифры:2цифры" где первые 2 цифры из диапазона 0..23, следующие из 0..59
Для начала кинул на лайаут из группы Ntxt Fields элемент Time . Никто не запрещает вводить по многу двоеточий и по длинным чисам между двоеточиями
Попробовал кинуть туда просто Plain Text и поставил в InputType только Time - то же самое
По идее, если бы можно было устанавливать ограничение на поля ввода "только целое и минимальное 0, а максимальное 59" можно было бы просто обойтись тремя полями ввода для этого. Но как такое сделать?
Как правило, вам самому придется отслеживать ввод и не давать вводить лишнее.
Покритикуйте, пожалуйста, если не лень мое решение того, что вы написали:
Сделал отдельный класс:
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);
работает вроде в симуляторе по кр мере
А как открыть панель propierties? Как ни старался, не нашел.
Форум Александра Климова → Android → Конвертер «38 попугаев»
Powered by PunBB, supported by Informer Technologies, Inc.