Android开发 – 显示Tab Activity内部的AlertDialog

Android开发 – 显示Tab Activity内部的AlertDialog,第1张

概述我无法获得显示Tab活动内部的警告对话框.我的应用程序每次尝试时都会强行关闭并显示警告对话框.我的代码如下: public class TablesActivity extends ListActivity {final int INFO_ID = 0;final int STATUS_ID = 1;AlertDialog alert = null;@Overridepublic v 我无法获得显示Tab活动内部的警告对话框.我的应用程序每次尝试时都会强行关闭并显示警告对话框.我的代码如下:

public class tablesActivity extends ListActivity {final int INFO_ID = 0;final int STATUS_ID = 1;AlertDialog alert = null;@OverrIDepublic voID onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    AlertDialog.Builder builder = new AlertDialog.Builder(this);    builder.setMessage("Are you sure you want to mark table as dirty?")            .setCancelable(false)            .setPositivebutton("Yes",new DialogInterface.OnClickListener() {                        public voID onClick(DialogInterface dialog,int ID) {                            Toast.makeText(getApplicationContext(),"table Marked Dirty",Toast.LENGTH_LONG).show();                        }                    })            .setNegativebutton("No",new DialogInterface.OnClickListener() {                public voID onClick(DialogInterface dialog,int ID) {                    dialog.cancel();                }            });    alert = builder.create();    setlistadapter(new ArrayAdapter<String>(this,R.layout.history,tableS));    ListVIEw lv = getListVIEw();    lv.setTextFilterEnabled(true);    lv.setonItemClickListener(new OnItemClickListener() {        public voID onItemClick(AdapterVIEw<?> parent,VIEw vIEw,int position,long ID) {            // When clicked,show a toast with the TextVIEw text            Toast.makeText(getApplicationContext(),((TextVIEw) vIEw).getText(),Toast.LENGTH_LONG).show();        }    });    lv.setonItemLongClickListener(new OnItemLongClickListener() {        @OverrIDe        public boolean onItemLongClick(AdapterVIEw<?> arg0,VIEw arg1,int arg2,long arg3) {            alert.show();            // Todo auto-generated method stub            return true;        }    });}static final String[] tableS = new String[] { "table 1","table 2","table 3","table 4","table 5","table 6","table 7","table 8","table 9","table 10","table 11","table 12","table 13"};}

当我尝试执行dialog.show()时,问题就出现了.我收到的logcat错误:

04-16 17:25:15.519:ERROR / AndroIDRuntime(311):androID.vIEw.WindowManager $BadTokenException:无法添加窗口 – 令牌androID.app.LocalActivityManager $LocalActivityRecord@44f08320无效;你的活动在运行吗?

该错误源自dialog.show()行.我不确定这里到底要做什么.在由TabHost生成的ActivityGroup提前启动之后,活动正在运行.

关于我可以做些什么来解决这个问题的想法?我的智慧结束了.

解决方法 请用

`AlertDialog.Builder builder = new AlertDialog.Builder(this.getParent());`

绝对的

`AlertDialog.Builder builder = new AlertDialog.Builder(this);`
总结

以上是内存溢出为你收集整理的Android开发 – 显示Tab Activity内部的AlertDialog全部内容,希望文章能够帮你解决Android开发 – 显示Tab Activity内部的AlertDialog所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1128313.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-30
下一篇 2022-05-30

发表评论

登录后才能评论

评论列表(0条)

保存