AlertDialog出错

Utopia 2012-03-08 10:16:33
android.view.WindowManager$BadTokenException: Unable to add window -- token android.os.BinderProxy@483873f0 is not valid; is your activity running?
当按back返回后再次进入activity时弹出AlertDialog就会报错。
还有就是back后activity已经ondestory了,再次进入怎么还是前面一个的SurfaceView,?
...全文
197 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
licaiyuren 2012-03-09
  • 打赏
  • 举报
回复
还有就是back后activity已经ondestory了
既然你的Activity都已经销毁了,你让她往哪里返回啊
qiushuiqifei 2012-03-09
  • 打赏
  • 举报
回复
Actvity生命周期再看一下 可以startActivityForResult (Intent intent, int requestCode)就能保存上次结果
winter_sui 2012-03-08
  • 打赏
  • 举报
回复
AlerDialong生成的时候要传一个Context参数。
这个Context必须是Activity,如果你的Activity被销毁了那就麻烦了。
/* * 这个类主要包括五个点击事件,分别为 * 1,ListView的长按点击事件,用来AlertDialog来判断是否删除数据。 * 2,ListView的点击事件,跳转到第二个界面,用来修改数据 * 4,menu里的退出事件,用来退出程序 * 5,menu里的新建事件,用来新建便签 * 6,对返回按钮监听退出程序 */ public class MainActivity extends Activity { // 定义帮助类 private MyOpenHelper notesDB; // 定义数据库类 private SQLiteDatabase dbReader;// 读取 // 定义组件 private ListView lv; private Button bt; private TextView tvBody; private TextView tvTitle; // 数据库表名称 private static final String TABLE_NAME = "data"; // 定义选项菜单 private static final int DB_ISNERT = 0x11; private static final int EXIT = 0x12; // 定义上下文菜单 private static final int DB_DELETE = 0x22; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); bt = (Button) findViewById(R.id.button1); // 实例化数据库对象 notesDB = new MyOpenHelper(this); // 创建数据库 dbReader = notesDB.getWritableDatabase(); // 取出组件 lv = (ListView) findViewById(R.id.listView1); // 设置监听 // 注册ListView上下文菜单 this.registerForContextMenu(lv); // 一打开软件就进行数据库查询把数据库中的内容查询显示 queryData(); // 短按时跳到第二个界面进行查看,修改 lv.setOnItemClickListener(new OnItemClickListener() { @Override public void onItemClick(AdapterView<?> parent, View view, int position, long id) { // TODO Auto-generated method stub Cursor c = dbReader.query(TABLE_NAME, null, null, null, null, null, null); c.moveToPosition(position);// 移动光标到一个绝对的位置 Intent i = new Intent(MainActivity.this, SecondAtivity.class); String s = String.valueOf(id); i.putExtra(SecondAtivity.mRowId, s); i.putExtra(SecondAtivity.KEY_BODY, c.getString(c.getColumnIndex(SecondAtivity.KEY_BODY))); i.putExtra(SecondAtivity.KEY_TITLE, c.getString(c.getColumnIndex(SecondAtivity.KEY_TITLE))); // 把数据库中的内容传到SecondAtivity startActivityForResult(i, 1); } }); } /** * 填充ListView */ public void queryData() { // 游标 查询数据库 Cursor cursor = dbReader.query(TABLE_NAME, null, null, null, nul

80,493

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧