Я знаю, что ошибка возникает не на всех телефонах. Например, на эмуляторе версии 2.2 ошибка не возникает, но на моем Galaxy S (Android 2.2.1, версия прошивки: I9000XXJIPY) она есть.
Текст Activity такой:
Код: Выделить всё
public class TestActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
Button btn = (Button) findViewById(R.id.testBtn);
btn.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v)
{
showPopup();
}
});
}
private void showPopup()
{
PopupWindow window = new PopupWindow(this);
window.setWidth(WindowManager.LayoutParams.WRAP_CONTENT);
window.setHeight(WindowManager.LayoutParams.WRAP_CONTENT);
window.setTouchable(true);
window.setFocusable(true);
EditText text = new EditText(this);
text.setText("Dont touch, this crash!");
window.setContentView(text);
window.showAtLocation(text, Gravity.CENTER, 30, 30);
}
}
Сообщение об ошибке:
Может есть у кого идеи, хотя бы как можно выяснить в чем причина?android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@4816f358 is not valid; is your activity running?