2015-11-03 5 views
-2

Эй, Гуйз, пожалуйста, помогите мне избавиться от грубого поведения AlertDialog.Грубое поведение AlertDialog в android

У меня есть кнопка в моем фрагменте при нажатии на нее. Я хочу, чтобы она отображала AlertDialog, заполненную Edittext. Даже я кодирую его.

new AlertDialog.Builder(getActivity()) 
        .setView(R.layout.send_message) 
        .setTitle(R.string.sendTitle + bundle.getString(USER_EXTRAS.FULLNAME_EXTRA)) 
        .setPositiveButton(R.string.send, null) 
        .show(); 

, но он предлагает на 2-й линии, что "вызов требует уровень API 21 (ток мин составляет 11) android.app.alertDialog.Builder # setView"

Я хочу 11 как минимум API (мой рекомендуется).

После компиляции я получил сообщение об ошибке.

java.lang.NoSuchMethodError: android.app.AlertDialog$Builder.setView 

Если setView() не поддерживается API 11, который я должен использовать вместо этого?

Есть ли альтернатива? и почему я получаю это исключение?

Любая помощь будет оценена положительно.

+0

'грубое поведение в AlertDialog' ... нет слов. –

+0

AlertDialog очень полезен, не груб, Ниже комментарии действительно грубые, здесь – Androider

ответ

0

Установить пользовательский макет для AlertDialog как:

LayoutInflater inflater = getActivity().getLayoutInflater(); 
View dialogView = inflater.inflate(R.layout.send_message, null); 
new AlertDialog.Builder(getActivity()) 
        .setView(dialogView) 
        .... 

Проблема происходит потому, что есть две версии setView метода, доступного в AlertDialog.Builder:

ПервыйsetView (View view) метод доступен из API LEVEL 1 который принимает объект View как параметр.

ВторойsetView (int layoutResId) метод доступен от API уровня 21, которая принимает идентификатор макета в качестве параметра.

+0

Большое вам спасибо ... :) Это сработало .. Можете ли вы PLZ руководство, как увеличить репутацию в переполнении стека ..? –

2

android.app.AlertDialog требуется API уровня 21, поэтому используется android.support.v7.app.AlertDialog;

import android.support.v7.app.AlertDialog; 
+0

Огромное вам спасибо ... :) Это сработало .. Можете ли вы руководствоваться плз, как увеличить репутацию в переполнении стека ..? –

+0

Ответьте на вопросы –

+0

Но ответ на вопросы требует не менее 20 репутаций, как я могу это достичь? –

Смежные вопросы