Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
0 / 0 / 1
Регистрация: 28.03.2018
Сообщений: 41

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

05.01.2019, 20:46. Показов 1054. Ответов 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
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка библиотек: SDL3, Box2D, FreeType, SDL3_ttf, SDL3_mixer и SDL3_image из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru