Как мне создать плавающее окно, используя атрибут onClick в Android?

#java #android #xml #eclipse #android-intent

#java #Android #xml #eclipse #android-намерение

Вопрос:

Итак, я работаю над приложением для Android (в Eclipse) и натыкаюсь на стену. В моем приложении у меня есть выдвижной ящик со списком опций. Я хотел бы, чтобы пользователь мог щелкнуть один из вариантов и вызвать плавающее окно с формой в нем. Я пытаюсь сделать это, используя атрибут onClick на кнопках, а не используя OnClickListener. Возможно ли это без использования OnClickListener или я пытаюсь избежать неизбежного? Атрибут onClick кнопки в моем макете имеет значение «NewWindow».

Мой класс MainActivity

 public void newWindow(View v){
    Intent intent = new Intent(){
        LayoutInflater layoutInflater 
        = (LayoutInflater)getBaseContext().getSystemService(LAYOUT_INFLATER_SERVICE);  
       View popupView = layoutInflater.inflate(R.layout.popup, null);  
                final PopupWindow popupWindow = new PopupWindow(
                  popupView, 
                  LayoutParams.WRAP_CONTENT,  
                        LayoutParams.WRAP_CONTENT); 

    };
    startActivity(intent);

    }
  

Я вижу, что моя переменная PopupView не используется, но я не уверен, куда поместить и двигаюсь ли я вообще в правильном направлении. Заранее спасибо за помощь!

Комментарии:

1. Самый простой вариант, который я могу придумать, — это «Диалоговое окно». Будь то для ввода пользователем или для уведомления, это поможет. Затем переходим к фрагментам. Хотя запуск подобного действия выглядит не очень красиво.

Ответ №1:

Я ни за что на свете не могу понять, почему вы пытаетесь запустить действие с намерением здесь. Ваш код должен быть:

 LayoutInflater layoutInflater = (LayoutInflater)getBaseContext()
        .getSystemService(LAYOUT_INFLATER_SERVICE);  
View popupView = layoutInflater.inflate(R.layout.popup, null);  
final PopupWindow popupWindow = new PopupWindow(popupView,
        LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT);
popupWindow.showAtLocation(...); // or showAsDropdown(...)
  

Комментарии:

1. Спасибо, я полностью новичок, когда дело доходит до разработки Android. Я просто имитировал. У меня пока нет полного понимания того, как работают Intents.