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
Post a Comment