0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41

Отлавливание нажатия на edittext

05.01.2019, 20:46. Показов 1099. Ответов 21
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
package com.calendar2.calendar2;
 
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.EventLog;
import android.view.MotionEvent;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.CalendarView;
import android.widget.CalendarView.OnDateChangeListener;
import android.widget.EditText;
import android.widget.Toast;
import android.widget.ListView;
 
import java.util.ArrayList;
 
public class MainActivity extends AppCompatActivity {
 
    CalendarView mCalendarView;
    ListView    mListView=findViewById(R.id.dailyView1);
    final ArrayList<String> data=new ArrayList<>();
    final ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1);
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        mListView.setAdapter(adapter);
        final EditText editText=(EditText)findViewById(R.id.editText1);
        editText.setOnKeyListener(new View.OnKeyListener()) {
            public boolean onKey(View v, int  keyKode, KeyEvent event) {
                if (event.getAction()==KeyEvent.KEYCODE_ENTER) {
                    data.add(0,editText.getText().toString());
                    adapter.notifyDataSetChanged();
                    editText.setText("");
                    return true;
                }
                return false;
            }
        }
        mCalendarView=(CalendarView)findViewById(R.id.calendar_view);
        mCalendarView.setOnDateChangeListener(new OnDateChangeListener() {
            @Override
            public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                mListView.setVisibility(View.VISIBLE);
            }
        });
    }
 
}
Есть такой код, ругаться начинает с 29 строки


XML
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.ConstraintLayout 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"
    tools:context=".MainActivity">
 
    <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
 
    android:orientation="vertical"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:clickable="true"
    android:focusable="true">
 
    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:clickable="true"
        android:focusable="true">
 
        <CalendarView
            android:id="@+id/calendar_view"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:adjustViewBounds="true"
            android:clickable="true" />
 
 
    </RelativeLayout>
 
 
        <ListView
        android:id="@+id/dailyView1"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="0.5"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_gravity="center_horizontal|center"
        android:clickable="true"
        android:focusable="true" />
 
        <EditText
            android:id="@+id/editText1"
            android:layout_width="match_parent"
            android:layout_height="30dp"
            android:layout_alignParentBottom="true"/>
   </LinearLayout>
 
</android.support.constraint.ConstraintLayout>
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
05.01.2019, 20:46
Ответы с готовыми решениями:

Обработка нажатия EditText
Необходимо реализовать поля ввода дат для задания периода. Так как надо по дизайну чтобы подсказка всплывала как в TextInputLayout,...

EditText обработчик нажатия на Enter
Всем привет! Не могу понять, почему не работает код: final EditText editText = (EditText)findViewById(R.id.editText); ...

Отключить перескакивание между edittext после нажатия "готово"
После нажатия на кнопку готово происходит заполнение второго edittext, третьего и.т.д. А нужно чтобы пользователь сам нажимал на нужные для...

21
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 21:31
Как именно ругается?

Добавлено через 7 минут
topgun1,
Java
1
final EditText editText=(EditText) findViewById(R.id.dailyView1).findViewById(R.id.editText1);
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 21:37  [ТС]
'OnKeyListener' is abstract, cannot be instantiated - 29 строка

Добавлено через 39 секунд
Что тут не так?
Java
1
final EditText editText=(EditText) findViewById(R.id.dailyView1).findViewById(R.id.editText1);
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 21:40
topgun1, не в ту сторону предположил. Скобка лишняя, нет?
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 21:42  [ТС]
Еще бы понять как это сделать
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 21:44
topgun1, скобка лишняя, нет?

Добавлено через 1 минуту
topgun1,
Java
1
2
3
4
5
6
7
8
9
10
11
editText.setOnKeyListener(new View.OnKeyListener() {
            public boolean onKey(View v, int  keyKode, KeyEvent event) {
                if (event.getAction()==KeyEvent.KEYCODE_ENTER) {
                    data.add(0,editText.getText().toString());
                    adapter.notifyDataSetChanged();
                    editText.setText("");
                    return true;
                }
                return false;
            }
        });
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 21:50  [ТС]
Лишняя

Добавлено через 1 минуту
Class 'Anonymous class derived from OnKeyListener' must either be declared abctract or implement abstract method 'onKey(View, int, KeyEvent)' in 'OnKeyListener'
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 21:58
topgun1,
Java
1
2
3
4
5
6
editText.setOnKeyListener(new View.OnKeyListener() {
            @Override
            public boolean onKey(View v, int keyCode, KeyEvent event) {
                return false;
            }
        });
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 22:00  [ТС]
Ошибка все равно осталась
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 22:02
topgun1, код, если не трудно, можешь скинуть?
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 22:03  [ТС]
method does not override method from its superclass - ошибка у @override

Добавлено через 53 секунды
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
 package com.calendar2.calendar2;
 
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.util.EventLog;
    import android.view.MotionEvent;
    import android.view.View;
    import android.widget.ArrayAdapter;
    import android.widget.CalendarView;
    import android.widget.CalendarView.OnDateChangeListener;
    import android.widget.EditText;
    import android.widget.Toast;
    import android.widget.ListView;
 
    import java.util.ArrayList;
 
    public class MainActivity extends AppCompatActivity {
 
        CalendarView mCalendarView;
        ListView    mListView=findViewById(R.id.dailyView1);
        final ArrayList<String> data=new ArrayList<>();
        final ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1);
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            mListView.setAdapter(adapter);
            final EditText editText=(EditText)findViewById(R.id.editText1);
            editText.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View v, int  keyKode, KeyEvent event) {
                    if (event.getAction()==KeyEvent.KEYCODE_ENTER) {
                        data.add(0,editText.getText().toString());
                        adapter.notifyDataSetChanged();
                        editText.setText("");
                        return true;
                    }
                    return false;
                }
                });
            mCalendarView=(CalendarView)findViewById(R.id.calendar_view);
            mCalendarView.setOnDateChangeListener(new OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                    mListView.setVisibility(View.VISIBLE);
                }
            });
        }
 
    }
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 22:11
topgun1,
Java
1
2
3
4
5
6
7
mCalendarView=(CalendarView)findViewById(R.id.calendar_view);
            mCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                    mListView.setVisibility(View.VISIBLE);
                }
            });
Добавлено через 1 минуту
topgun1,

Java
1
2
3
4
CalendarView mCalendarView;
        ListView    mListView=findViewById(R.id.dailyView1);
        final ArrayList<String> data=new ArrayList<>();
        final ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1);
перемести в
Java
1
onCreate()
.
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 22:13  [ТС]
Java
1
2
3
4
5
6
7
mCalendarView=(CalendarView)findViewById(R.id.calendar_view);
            mCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                    mListView.setVisibility(View.VISIBLE);
                }
            });
Это уже в onCreate();
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 22:14
Java
1
2
3
4
CalendarView mCalendarView;
        ListView    mListView=findViewById(R.id.dailyView1);
        final ArrayList<String> data=new ArrayList<>();
        final ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1);
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 22:15  [ТС]
Переместил, ничего не изменилось
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 22:16
topgun1, Так и не должно было, при перемещении.

Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
public class MainActivity extends AppCompatActivity {
 
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
            CalendarView mCalendarView;
            ListView    mListView=findViewById(R.id.dailyView1);
            final ArrayList<String> data=new ArrayList<>();
            final ArrayAdapter<String> adapter=new ArrayAdapter<>(this,android.R.layout.simple_list_item_1);
            mListView.setAdapter(adapter);
            final EditText editText=(EditText)findViewById(R.id.editText1);
            editText.setOnKeyListener(new View.OnKeyListener() {
                @Override
                public boolean onKey(View v, int  keyKode, KeyEvent event) {
                    if (event.getAction()==KeyEvent.KEYCODE_ENTER) {
                        data.add(0,editText.getText().toString());
                        adapter.notifyDataSetChanged();
                        editText.setText("");
                        return true;
                    }
                    return false;
                }
            });
            mCalendarView=(CalendarView)findViewById(R.id.calendar_view);
            mCalendarView.setOnDateChangeListener(new CalendarView.OnDateChangeListener() {
                @Override
                public void onSelectedDayChange(CalendarView view, int year, int month, int dayOfMonth) {
                    mListView.setVisibility(View.VISIBLE);
                }
            });
        }
 
    }
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 22:19  [ТС]
Но как решить проблему с OnKeyListener?
0
111 / 89 / 29
Регистрация: 07.01.2017
Сообщений: 456
05.01.2019, 22:20
topgun1, ты уверен, что именно с ним проблема? Просто у меня светил OnDateChangeListener(), который я поправил и отослал.
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 22:23  [ТС]
У меня его не подсвечивает
0
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41
05.01.2019, 22:25  [ТС]
У меня сейчас вот это подсвечивает
Миниатюры
Отлавливание нажатия на edittext  
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
05.01.2019, 22:25
Помогаю со студенческими работами здесь

Ввод в один EditText и авто-вычисление в двух других EditText
Всем привет. Есть три поля EditText,виртуальные клавиатуры у всех заблокированы,а ввод чисел в поле осуществляется с Button(ов). Вопрос...

EditText смещается вниз при вводе текста, который занимает объём больше, чем EditText
EditText сещается вниз при вводе текста который занимает обём больше чем EditText. Как устранить?

Динамическое создание edittext и обработка данных из edittext
Здравствуйте, мне нужна помощь, у меня есть таблица, где динамически создаются edittext: for (int i = 0; i &lt;...

Отлавливание нажатия клавиши QT
Добрый день! Пишу приложение на Qt и возникла такая проблема: Допустим пользователь один нажимает W - объект должен начать двигаться...

Отлавливание нажатия клавиши
Доброго времени суток. Есть примитивный код: private void Form1_KeyDown(object sender, KeyEventArgs e) { ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Опции темы

Новые блоги и статьи
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru