Форум программистов, компьютерный форум, киберфорум
Наши страницы
Программирование Android
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
razer89
15 / 15 / 0
Регистрация: 20.06.2010
Сообщений: 142
1

Не вызывается клавиатура внутри PopupWindow

09.12.2012, 02:47. Просмотров 954. Ответов 1
Метки нет (Все метки)

И снова здравствуйте! Все никак не могу побороть проблему с этим PopupView... Оказывается, внутри него не обрабатываются не только кнопки, но и EditText! Никак не могу понять, в чем проблема...
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
51
52
53
54
55
56
57
58
59
60
61
62
63
public class PopupView extends View 
{
    private PopupWindow popUp;
    private LinearLayout popUpLayout;
    private TextView titleTextView;
    private Button buttonOk;
    private EditText edTextHeight;
    private OnClickListener onClick;
    private LayoutParams params;
    private int popUpWidth = 0;
    private int popUpHeight = 0;
    private int popUpX, popUpY;
    
    public static final int POINT = 1;
    
    public PopupView(Context context)
    {
        super(context);
        
        popUp = new PopupWindow(context);
        popUpLayout = new LinearLayout(context);
        titleTextView = new TextView(context);
        edTextHeight = new EditText (context);
        buttonOk = new Button(context);
        
        buttonOk.setText("OK");
        buttonOk.setId(1);
 
        params = new LayoutParams(LayoutParams.WRAP_CONTENT,
                LayoutParams.WRAP_CONTENT);
 
        popUpLayout.setOrientation(LinearLayout.VERTICAL);
 
        popUp.setContentView(popUpLayout);
    }
    
    public void createPopup (View parent, int typeOfPopUp, DataContainer dContainer, int numOfPoint)
    {
        switch (typeOfPopUp)
        {
        case 1:
            titleTextView.setText("Ground Point # " + (1 + numOfPoint));
            edTextHeight.setText ("" + dContainer.groundPoints.get(numOfPoint).length);
        
            popUpLayout.removeAllViews();
            popUpLayout.addView(titleTextView, params);
            popUpLayout.addView(edTextHeight, params); //При нажатии  на этот EditText клавиатура не вызывается
            popUpLayout.addView(buttonOk, params); // При нажатии на эту кнопку не воспроизводится стандартная анимация нажатия, но обработчик срабатывает
            
            popUpWidth = 300;
            popUpHeight = 300;
            
            popUpX = 200;
            popUpY = 400;
            
            popUp.showAtLocation(parent, Gravity.NO_GRAVITY, popUpX, popUpY);
            popUp.update(popUpX, popUpY, popUpWidth, popUpHeight);
 
            break;
            
        }
    }
}
Добавлено через 8 часов 36 минут
Все, ребят, сам разобрался! Оказывается, при создании popupView он не фокусабелен. Т.е. нужно после его создания вызвать метод popup.setFocusable(true); и тогда все будет работать. После этого проблема с кнопками так же решилась. Надеюсь, кому-нибудь поможет!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
09.12.2012, 02:47
Ответы с готовыми решениями:

Button внутри PopupWindow
Имеется PopupWindow, в котором размещен LinearLayout. В этот layout я добавляю...

PopupWindow. Что осталось за кадром? (Tutorial)
Здравствуйте! Недавно потребовалось сделать выпадающий список более вменяемым,...

Popup menu не вызывается (код внутри)
Добрый день! В форме не вызывается сабж. Код: Private Sub...

Окно настройки принтера не вызывается через меню, но вызывается по кнопке
Доброго времени суток. Помогите разобраться. Подключаю к программе принтер,...

При создании класса конструктор вызывается 2 раза, затем вызывается деструктор о_О
Вот такой кодclass A { public: A(){} virtual ~A(){} }; class C {...

1
San4oPanso
2 / 2 / 0
Регистрация: 02.03.2010
Сообщений: 96
08.02.2013, 14:26 2
Такая же проблема, не вызывается клавиатура
Java
1
2
3
4
5
6
7
8
9
10
    buttonConf.setOnClickListener(new OnClickListener() {
            
            @Override
            public void onClick(View v) {
                RelativeLayout layoutmain = (RelativeLayout)findViewById(R.id.relativeLayout1);
                popupconf.showAtLocation(layoutmain, Gravity.CENTER, 10, 10);
                popupconf.update(20, 50, 200, 80);
                popupconf.setFocusable(true);
            }
        });
Добавлено через 10 часов 59 минут
Точнее клавиатура вызывается уже если повторно 2-й раз вызвать попап, когда же первый раз вызываешь - клавиатура не вызывается(
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
08.02.2013, 14:26

Остановить socket.Accept() внутри блока while который находится внутри потока
Сам код using System; using System.IO; using System.Collections.Generic;...

Поиск файла внутри каталога, внутри поиска каталогов
Доброго времени суток, помогите пожалуйста с задачей: - Есть основная...

В Excel внутри ячейки внутри слова не ставится курсор
в Excel внутри ячейки внутри слова не ставиться курсор. Выделив какию-нибудь...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru