2016-08-13 8 views
0

別のクラスのリストビューに使用するアダプタクラスの中に次のコードがあります。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(); 

問題は、私はアクションをトリガーするとき、私は

android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application 

builder.show()ラインでこのエラーが出るということです私はgetContext()が故障したと思ったが、それは、このコード内のエラーを生成しません。

Toast.makeText(getContext(), "Cool message!", Toast.LENGTH_LONG).show(); 

何が問題なのですか?

答えて

0

getContext()ActivityName.thisに置き換えます。

+0

'ActivityName'の代わりにアダプタクラスの名前で試しましたが、コンパイルされません。 – Vali79

+0

いいえ、ウィンドウを表示する必要があるアクティビティーの名前。それは、アラートが表示されるアクティビティのコンテキストで構築されます。 –

+0

これは、 'ActivityNameは囲むクラスではありません.'と書かれていて、' ActivityName.class'も書かれていないということです。 – Vali79

関連する問題