0
У меня есть следующий код внутри класса адаптера, который я использую для listview в другом классе.Android Adapter AlertDialog error
AlertDialog.Builder builder = new AlertDialog.Builder(getContext());
builder.setTitle("Introduceti parola:");
final EditText input = new EditText(getContext());
input.setInputType(InputType.TYPE_CLASS_TEXT);
builder.setView(input);
builder.setPositiveButton("OK", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which)
{
hash.put("name", Rooms.name);
hash.put("parola", input.getText().toString());
site = siteul + "/join";
new ATask((ViewHolder) v.getTag()).execute(site);
}
});
builder.setNegativeButton("Cancel", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog, int which) {
dialog.cancel();
}
});
builder.show();
Проблема заключается в том, что, когда я вызвать действие я получаю эту ошибку на builder.show()
линии
android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
Я думал, что getContext()
был виноват, но он не создает каких-либо ошибок в этом коде в том же классе адаптера:
Toast.makeText(getContext(), "Cool message!", Toast.LENGTH_LONG).show();
В чем проблема?
Пробовал его с именем класса адаптера вместо 'ActivityName', но он не компилируется. – Vali79
Нет, это название активности, которое необходимо показать в окне. То есть, предупреждение создается с контекстом активности, которое будет отображаться. –
Ну, если я использую это, он говорит: «ActivityName не является закрывающим классом», и запись 'ActivityName.class' тоже не работает. – Vali79