بروز خطا
   [message]
اشتراک در سوال
رای ها
[dataList]
پرسش و پاسخ

مشکل در ساخت لینک

مدیریت گفتگو
سالار 10 سال پیش
آخرین تغییر: 10 سال پیش

توی این نرم افزار 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());

}

نظرات

کاشی زاده 10 سال پیش
خطاهای برنامه را قرار دهید تا امکان بررسی مشکل وجود داشته باشد .

پاسخ‌ها 9

سالار 10 سال پیش

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?
 این خطارو میده

نظرات

کاشی زاده 10 سال پیش
شما دارید Intetn را خارج از اکتیویتی اجرا میکنید باید flag نام برده را به Intent اضافه کنید .
سالار 10 سال پیش

متوجه نشدم بیشتر توضیح بدید

نظرات

کاشی زاده 10 سال پیش

از این کد استفاده کنید :

Intent intent = new Intent(context,MainActivity.class);
intent .setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
context.startActivity(intent);

نظرات

سالار 10 سال پیش

داداش من برنامه نویس php هستم اندروید رو دستو پاشکسته دیدم فعلا چون مجبور بودم فعلا یه rss readerبسازم

من الان نمیدونم باید این کدی رو که دادی رو کجا بذارم

من یه کلاس G دارم یه کلاس RssParser دارم یه کلاس AdapterItems رو دارم و یه کلاس ActivityStartup این کد کجای کدوم قرار میگیره؟

نظرات

1117 10 سال پیش
این کدی که استاد کاشی زاده توی تاپیکشون براتون گذاشتنو باید توی کلاس اداپتر استفاده کنی . البته اگه خودشون بودن جواب میدادن عالی بود . شاید من اشتباه گفته باشم
سالار 10 سال پیش

یعنی به این شکل

 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);
}
...

نظرات

سالار 10 سال پیش

به این شکل باید استفاده بشه که بالا گفتم؟؟؟؟

نظرات

سالار 10 سال پیش

اقای کاشی زاده این دستور باید به چه شکل تو کد قرار داده بشه؟

نظرات

کاشی زاده 10 سال پیش
لطفا برای درج پاسخ های کوتاه ، نظر درج کنید و پاسخ جدید ایجاد نکنید . بله همونطور که نوشتید درست هست .
سالار 10 سال پیش
ولی هنوز برنامه کرش میکنه
سالار 10 سال پیش
میشه برنامه رو بفرستم یه چک کنید؟
MeY3am 10 سال پیش
کرش برنامتون احتمالا بخاطر تعریف نکردن کلاس G در منیفست باشه، چک کنید !
سالار 10 سال پیش
نه مشکل از اینجا نیست الان من برنامه رو که تو امولیتور باز میکنم صفحه سفیده
سالار 10 سال پیش
آقا من این برنامه رو یه جا آپلود کردم لینکشو مسزارم یه مرد پیدا بشه یه کمکی به ما بکنه خدا خیرتون بده
سالار 10 سال پیش

اقا کسی یه کمکی به ما نمیده؟

این لینک برنامه

http://s2.picofile.com/file/8261841618/darinews.zip.html

 

نظرات

MeY3am 10 سال پیش

دوست عزیز راه حل مشکل شما بسیار سادست!

شما به جای 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 استفاده کردن !

نظرات


پاسخگویی و مشاهده پاسخ های این سوال تنها برای اعضای ویژه سایت امکان پذیر است .
چنانچه تمایل دارید به همه بخش ها دسترسی داشته باشید میتوانید از این بخش لایسنس این آموزش را خریداری نمایید .