0
我有一個Adapter類中的以下代碼,我用於另一個類中的listview。Android適配器AlertDialog錯誤
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.class'也不起作用。 – Vali79