مشکل در ساخت لینک
مدیریت گفتگو
توی این نرم افزار rss خوانی که طراحی شده
تگ لینک رو مقدارش رو به صورت زیر گذاشتم ولی زمان اجراء برنامه کرش میکنه مشکل کجاست دوستان؟
public void fill(final ArrayAdapter<RssParser.Item> adapter, final RssParser.Item item, final int position) {
txtTitle.setText(item.title);
txtDate.setText(item.pubDate);
txtCategory.setText(item.category);
Spanned description = Html.fromHtml(item.description);
if (description.length() > 300) {
description = (Spanned) description.subSequence(0, 300);
}
txtDescription.setText(description);
//این قسمت تعریف شده
String linkText = "<a href='" + item.link + "'>نمایش</a>";
txtlink.setText(Html.fromHtml(linkText));
txtlink.setMovementMethod(LinkMovementMethod.getInstance());
}
پاسخها 9
07-04 16:46:43.810: E/AndroidRuntime(3163): android.util.AndroidRuntimeException: Calling startActivity() from outside of an Activity context requires the FLAG_ACTIVITY_NEW_TASK flag. Is this really what you want?
این خطارو میده
نظرات
از این کد استفاده کنید :
Intent intent = new Intent(context,MainActivity.class);
intent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);
نظرات
داداش من برنامه نویس php هستم اندروید رو دستو پاشکسته دیدم فعلا چون مجبور بودم فعلا یه rss readerبسازم
من الان نمیدونم باید این کدی رو که دادی رو کجا بذارم
من یه کلاس G دارم یه کلاس RssParser دارم یه کلاس AdapterItems رو دارم و یه کلاس ActivityStartup این کد کجای کدوم قرار میگیره؟
نظرات
یعنی به این شکل
public class AdapterItems extends ArrayAdapter<RssParser.Item> {
public AdapterItems(ArrayList<RssParser.Item> array) {
super(G.context, 0, array);
Intent intent = new Intent(G.context, ActivityStartup.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
G.context.startActivity(intent);
}
...
نظرات
اقای کاشی زاده این دستور باید به چه شکل تو کد قرار داده بشه؟
نظرات
اقا کسی یه کمکی به ما نمیده؟
این لینک برنامه
http://s2.picofile.com/file/8261841618/darinews.zip.html
نظرات
دوست عزیز راه حل مشکل شما بسیار سادست!
شما به جای context از currentActivity استفاده کنید یا نام اکتیویتی رو بزار بعد this !
به اینصورت؛ بجای :
public class AdapterItems extends ArrayAdapter<RssParser.Item> {
public AdapterItems(ArrayList<RssParser.Item> array) {
super(G.context, 0, array);
Intent intent = new Intent(G.context, ActivityStartup.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
G.context.startActivity(intent);
}
از این استفاده کن :
public class AdapterItems extends ArrayAdapter<RssParser.Item> {
public AdapterItems(ArrayList<RssParser.Item> array) {
super(G.context, 0, array);
Intent intent = new Intent(G.currentActivity, ActivityStartup.class);
intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
G.currentActivity.startActivity(intent);
}
که البته باید currentActivity رو در کلاس G و EnhancedActivity تعریف کرده باشید !
محمدحسین جان حواسشون نبود بجای currentActivity از context برای Intent استفاده کردن !
نظرات
پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .
نظرات