textview - Android: Calling startActivity() from outside of an Activity context -


i have textview in alert dialogue box , placing url in text? when use following piece of code gives me error:

                final textview message = new textview(context);                  final spannablestring s = new spannablestring(context.gettext(r.string.send_sms));                    message.settext(s);                 message.setpadding(10, 0, 4, 0);                 message.setgravity(gravity.axis_clip);                 message.setmovementmethod(linkmovementmethod.getinstance());                  new alertdialog.builder(myclass.this)                    .settitle("message 1\nstep 1 of 4")                    .setview(message)                    .setpositivebutton(r.string.continue,new dialoginterface.onclicklistener() {                        public void onclick(dialoginterface dialog, int whichbutton) {                             log.e("@@","inside onclick");                         //new checkloginstatus().execute();                         sendsms();                         myprogressdialog=new progressdialog(myclass.this);                         myprogressdialog.settitle("message 2\nstep 2 of 4");                         myprogressdialog.setmessage("message\n" +                                 "please wait... attempt "+(count));                         myprogressdialog.setcancelable(false);                         myprogressdialog.show();                          thread splashtread = new thread() {                             @override                             public void run() {                                 try {                                     for(int i=0;i<3;i++)                                     {                                         if(!smsstatus || !smssendstatus){                                             log.e("@@","inside run..");                                             int waited = 0;                                             while( (waited < 120000)) {                                                 sleep(100);                                                 waited += 100;                                             }                                             log.e("after","120sec count="+count);                                             if(!smsstatus)                                                 handler.sendemptymessage(0);                                         }                                     }                                 } catch (interruptedexception e) {                                     e.printstacktrace();                                 }                                                                 {                                     log.e("logs", "inside stop of thread");                                     stop();                                 }                             }                         };                         splashtread.start();                     }                    })                 .setnegativebutton(r.string.do_later,new dialoginterface.onclicklistener() {                        public void onclick(dialoginterface dialog, int whichbutton) {                            finish();                     }                    })                 .setcancelable(false).show(); 

and handler code

 private handler handler = new handler() {     public void handlemessage(message msg) {         count += 1;         if(count<=3){             try{                 log.e("@@","inside handler try count="+count);                 if(myprogressdialog.isshowing())                     myprogressdialog.dismiss();             }catch(exception e){                 e.printstacktrace();             }             //new checkloginstatus().execute();             sendsms();             if(!myprogressdialog.isshowing()){                 myprogressdialog=new progressdialog(myclass.this);                 myprogressdialog.settitle("my message\nstep 2 of 4");                 myprogressdialog.setmessage("me message\n" +                         "please wait... attempt "+(count));                 myprogressdialog.setcancelable(false);                 myprogressdialog.show();             }         }else if(count == 4){             try{                 log.e("@@","inside handler else "+count);                 if(myprogressdialog.isshowing())                     myprogressdialog.dismiss();             }catch(exception e){                 e.printstacktrace();             }             count = 1;                final textview message = new textview(getbasecontext());              final spannablestring s = new spannablestring(getbasecontext().gettext(r.string.sms_not_received));             linkify.addlinks(s, linkify.web_urls);             message.settext(s);             message.setpadding(10, 0, 4, 0);             message.setgravity(gravity.clip_horizontal);             message.setmovementmethod(linkmovementmethod.getinstance());                new alertdialog.builder(myclass.this)                .settitle("my message\nerror")                .setview(message)             .setpositivebutton(r.string.ok_text,new dialoginterface.onclicklistener() {                    public void onclick(dialoginterface dialog, int whichbutton) {                        finish();                 }                }).setcancelable(false).show();         }     } }; 

i think problem statement linkify.addlinks(s, linkify.web_urls);

earlier used work without statement. please help

if handler inside activity class, use class context instead of getbasecontext() when creating textview.

that use activity context , make problem disappear.


Comments

Popular posts from this blog

apache - Add omitted ? to URLs -

redirect - bbPress Forum - rewrite to wwww.mysite prohibits login -

php - How can I stop spam on my custom forum/blog? -